Coverage Report

Created: 2026-06-02 06:36

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/php-src/Zend/zend_language_parser.c
Line
Count
Source
1
/* A Bison parser, made by GNU Bison 3.5.1.  */
2
3
/* Bison implementation for Yacc-like parsers in C
4
5
   Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2020 Free Software Foundation,
6
   Inc.
7
8
   This program is free software: you can redistribute it and/or modify
9
   it under the terms of the GNU General Public License as published by
10
   the Free Software Foundation, either version 3 of the License, or
11
   (at your option) any later version.
12
13
   This program is distributed in the hope that it will be useful,
14
   but WITHOUT ANY WARRANTY; without even the implied warranty of
15
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16
   GNU General Public License for more details.
17
18
   You should have received a copy of the GNU General Public License
19
   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
20
21
/* As a special exception, you may create a larger work that contains
22
   part or all of the Bison parser skeleton and distribute that work
23
   under terms of your choice, so long as that work isn't itself a
24
   parser generator using the skeleton or a modified version thereof
25
   as a parser skeleton.  Alternatively, if you modify or redistribute
26
   the parser skeleton itself, you may (at your option) remove this
27
   special exception, which will cause the skeleton and the resulting
28
   Bison output files to be licensed under the GNU General Public
29
   License without this special exception.
30
31
   This special exception was added by the Free Software Foundation in
32
   version 2.2 of Bison.  */
33
34
/* C LALR(1) parser skeleton written by Richard Stallman, by
35
   simplifying the original so-called "semantic" parser.  */
36
37
/* All symbols defined below should begin with yy or YY, to avoid
38
   infringing on user name space.  This should be done even for local
39
   variables, as they might otherwise be expanded by user macros.
40
   There are some unavoidable exceptions within include files to
41
   define necessary library symbols; they are noted "INFRINGES ON
42
   USER NAME SPACE" below.  */
43
44
/* Undocumented macros, especially those whose name start with YY_,
45
   are private implementation details.  Do not rely on them.  */
46
47
/* Identify Bison output.  */
48
#define YYBISON 1
49
50
/* Bison version.  */
51
#define YYBISON_VERSION "3.5.1"
52
53
/* Skeleton name.  */
54
#define YYSKELETON_NAME "yacc.c"
55
56
/* Pure parsers.  */
57
#define YYPURE 2
58
59
/* Push parsers.  */
60
#define YYPUSH 0
61
62
/* Pull parsers.  */
63
#define YYPULL 1
64
65
/* "%code top" blocks.  */
66
#line 21 "/src/php-src/Zend/zend_language_parser.y"
67
68
#include "zend.h"
69
#include "zend_list.h"
70
#include "zend_globals.h"
71
#include "zend_API.h"
72
#include "zend_constants.h"
73
#include "zend_language_scanner.h"
74
#include "zend_exceptions.h"
75
76
0
#define YYSIZE_T size_t
77
0
#define yytnamerr zend_yytnamerr
78
static YYSIZE_T zend_yytnamerr(char*, const char*);
79
80
#ifdef _MSC_VER
81
#define YYMALLOC malloc
82
#define YYFREE free
83
#endif
84
85
#line 86 "/src/php-src/Zend/zend_language_parser.c"
86
/* Substitute the type names.  */
87
0
#define YYSTYPE         ZENDSTYPE
88
/* Substitute the variable and function names.  */
89
#define yyparse         zendparse
90
0
#define yylex           zendlex
91
0
#define yyerror         zenderror
92
#define yydebug         zenddebug
93
0
#define yynerrs         zendnerrs
94
95
96
# ifndef YY_CAST
97
#  ifdef __cplusplus
98
#   define YY_CAST(Type, Val) static_cast<Type> (Val)
99
#   define YY_REINTERPRET_CAST(Type, Val) reinterpret_cast<Type> (Val)
100
#  else
101
0
#   define YY_CAST(Type, Val) ((Type) (Val))
102
#   define YY_REINTERPRET_CAST(Type, Val) ((Type) (Val))
103
#  endif
104
# endif
105
# ifndef YY_NULLPTR
106
#  if defined __cplusplus
107
#   if 201103L <= __cplusplus
108
#    define YY_NULLPTR nullptr
109
#   else
110
#    define YY_NULLPTR 0
111
#   endif
112
#  else
113
0
#   define YY_NULLPTR ((void*)0)
114
#  endif
115
# endif
116
117
/* Enabling verbose error messages.  */
118
#ifdef YYERROR_VERBOSE
119
# undef YYERROR_VERBOSE
120
# define YYERROR_VERBOSE 1
121
#else
122
# define YYERROR_VERBOSE 1
123
#endif
124
125
/* Use api.header.include to #include this header
126
   instead of duplicating it here.  */
127
#ifndef YY_ZEND_SRC_PHP_SRC_ZEND_ZEND_LANGUAGE_PARSER_H_INCLUDED
128
# define YY_ZEND_SRC_PHP_SRC_ZEND_ZEND_LANGUAGE_PARSER_H_INCLUDED
129
/* Debug traces.  */
130
#ifndef ZENDDEBUG
131
# if defined YYDEBUG
132
#if YYDEBUG
133
#   define ZENDDEBUG 1
134
#  else
135
#   define ZENDDEBUG 0
136
#  endif
137
# else /* ! defined YYDEBUG */
138
#  define ZENDDEBUG 0
139
# endif /* ! defined YYDEBUG */
140
#endif  /* ! defined ZENDDEBUG */
141
#if ZENDDEBUG
142
extern int zenddebug;
143
#endif
144
/* "%code requires" blocks.  */
145
#line 40 "/src/php-src/Zend/zend_language_parser.y"
146
147
#include "zend_compile.h"
148
149
#line 150 "/src/php-src/Zend/zend_language_parser.c"
150
151
/* Token type.  */
152
#ifndef ZENDTOKENTYPE
153
# define ZENDTOKENTYPE
154
  enum zendtokentype
155
  {
156
    END = 0,
157
    T_THROW = 258,
158
    PREC_ARROW_FUNCTION = 259,
159
    T_INCLUDE = 260,
160
    T_INCLUDE_ONCE = 261,
161
    T_REQUIRE = 262,
162
    T_REQUIRE_ONCE = 263,
163
    T_LOGICAL_OR = 264,
164
    T_LOGICAL_XOR = 265,
165
    T_LOGICAL_AND = 266,
166
    T_PRINT = 267,
167
    T_YIELD = 268,
168
    T_DOUBLE_ARROW = 269,
169
    T_YIELD_FROM = 270,
170
    T_PLUS_EQUAL = 271,
171
    T_MINUS_EQUAL = 272,
172
    T_MUL_EQUAL = 273,
173
    T_DIV_EQUAL = 274,
174
    T_CONCAT_EQUAL = 275,
175
    T_MOD_EQUAL = 276,
176
    T_AND_EQUAL = 277,
177
    T_OR_EQUAL = 278,
178
    T_XOR_EQUAL = 279,
179
    T_SL_EQUAL = 280,
180
    T_SR_EQUAL = 281,
181
    T_POW_EQUAL = 282,
182
    T_COALESCE_EQUAL = 283,
183
    T_COALESCE = 284,
184
    T_BOOLEAN_OR = 285,
185
    T_BOOLEAN_AND = 286,
186
    T_AMPERSAND_NOT_FOLLOWED_BY_VAR_OR_VARARG = 287,
187
    T_AMPERSAND_FOLLOWED_BY_VAR_OR_VARARG = 288,
188
    T_IS_EQUAL = 289,
189
    T_IS_NOT_EQUAL = 290,
190
    T_IS_IDENTICAL = 291,
191
    T_IS_NOT_IDENTICAL = 292,
192
    T_SPACESHIP = 293,
193
    T_IS_SMALLER_OR_EQUAL = 294,
194
    T_IS_GREATER_OR_EQUAL = 295,
195
    T_PIPE = 296,
196
    T_SL = 297,
197
    T_SR = 298,
198
    T_INSTANCEOF = 299,
199
    T_INT_CAST = 300,
200
    T_DOUBLE_CAST = 301,
201
    T_STRING_CAST = 302,
202
    T_ARRAY_CAST = 303,
203
    T_OBJECT_CAST = 304,
204
    T_BOOL_CAST = 305,
205
    T_UNSET_CAST = 306,
206
    T_POW = 307,
207
    T_CLONE = 308,
208
    T_NOELSE = 309,
209
    T_ELSEIF = 310,
210
    T_ELSE = 311,
211
    T_LNUMBER = 312,
212
    T_DNUMBER = 313,
213
    T_STRING = 314,
214
    T_NAME_FULLY_QUALIFIED = 315,
215
    T_NAME_RELATIVE = 316,
216
    T_NAME_QUALIFIED = 317,
217
    T_VARIABLE = 318,
218
    T_INLINE_HTML = 319,
219
    T_ENCAPSED_AND_WHITESPACE = 320,
220
    T_CONSTANT_ENCAPSED_STRING = 321,
221
    T_STRING_VARNAME = 322,
222
    T_NUM_STRING = 323,
223
    T_EVAL = 324,
224
    T_NEW = 325,
225
    T_EXIT = 326,
226
    T_IF = 327,
227
    T_ENDIF = 328,
228
    T_ECHO = 329,
229
    T_DO = 330,
230
    T_WHILE = 331,
231
    T_ENDWHILE = 332,
232
    T_FOR = 333,
233
    T_ENDFOR = 334,
234
    T_FOREACH = 335,
235
    T_ENDFOREACH = 336,
236
    T_DECLARE = 337,
237
    T_ENDDECLARE = 338,
238
    T_AS = 339,
239
    T_SWITCH = 340,
240
    T_ENDSWITCH = 341,
241
    T_CASE = 342,
242
    T_DEFAULT = 343,
243
    T_MATCH = 344,
244
    T_BREAK = 345,
245
    T_CONTINUE = 346,
246
    T_GOTO = 347,
247
    T_FUNCTION = 348,
248
    T_FN = 349,
249
    T_CONST = 350,
250
    T_RETURN = 351,
251
    T_TRY = 352,
252
    T_CATCH = 353,
253
    T_FINALLY = 354,
254
    T_USE = 355,
255
    T_INSTEADOF = 356,
256
    T_GLOBAL = 357,
257
    T_STATIC = 358,
258
    T_ABSTRACT = 359,
259
    T_FINAL = 360,
260
    T_PRIVATE = 361,
261
    T_PROTECTED = 362,
262
    T_PUBLIC = 363,
263
    T_PRIVATE_SET = 364,
264
    T_PROTECTED_SET = 365,
265
    T_PUBLIC_SET = 366,
266
    T_READONLY = 367,
267
    T_VAR = 368,
268
    T_UNSET = 369,
269
    T_ISSET = 370,
270
    T_EMPTY = 371,
271
    T_HALT_COMPILER = 372,
272
    T_CLASS = 373,
273
    T_TRAIT = 374,
274
    T_INTERFACE = 375,
275
    T_ENUM = 376,
276
    T_EXTENDS = 377,
277
    T_IMPLEMENTS = 378,
278
    T_NAMESPACE = 379,
279
    T_LIST = 380,
280
    T_ARRAY = 381,
281
    T_CALLABLE = 382,
282
    T_LINE = 383,
283
    T_FILE = 384,
284
    T_DIR = 385,
285
    T_CLASS_C = 386,
286
    T_TRAIT_C = 387,
287
    T_METHOD_C = 388,
288
    T_FUNC_C = 389,
289
    T_PROPERTY_C = 390,
290
    T_NS_C = 391,
291
    T_ATTRIBUTE = 392,
292
    T_INC = 393,
293
    T_DEC = 394,
294
    T_VOID_CAST = 395,
295
    T_OBJECT_OPERATOR = 396,
296
    T_NULLSAFE_OBJECT_OPERATOR = 397,
297
    T_COMMENT = 398,
298
    T_DOC_COMMENT = 399,
299
    T_OPEN_TAG = 400,
300
    T_OPEN_TAG_WITH_ECHO = 401,
301
    T_CLOSE_TAG = 402,
302
    T_WHITESPACE = 403,
303
    T_START_HEREDOC = 404,
304
    T_END_HEREDOC = 405,
305
    T_DOLLAR_OPEN_CURLY_BRACES = 406,
306
    T_CURLY_OPEN = 407,
307
    T_PAAMAYIM_NEKUDOTAYIM = 408,
308
    T_NS_SEPARATOR = 409,
309
    T_ELLIPSIS = 410,
310
    T_BAD_CHARACTER = 411,
311
    T_ERROR = 412
312
  };
313
#endif
314
315
/* Value type.  */
316
#if ! defined ZENDSTYPE && ! defined ZENDSTYPE_IS_DECLARED
317
typedef zend_parser_stack_elem ZENDSTYPE;
318
# define ZENDSTYPE_IS_TRIVIAL 1
319
# define ZENDSTYPE_IS_DECLARED 1
320
#endif
321
322
323
324
ZEND_API int zendparse (void);
325
326
#endif /* !YY_ZEND_SRC_PHP_SRC_ZEND_ZEND_LANGUAGE_PARSER_H_INCLUDED  */
327
328
329
330
#ifdef short
331
# undef short
332
#endif
333
334
/* On compilers that do not define __PTRDIFF_MAX__ etc., make sure
335
   <limits.h> and (if available) <stdint.h> are included
336
   so that the code can choose integer types of a good width.  */
337
338
#ifndef __PTRDIFF_MAX__
339
# include <limits.h> /* INFRINGES ON USER NAME SPACE */
340
# if defined __STDC_VERSION__ && 199901 <= __STDC_VERSION__
341
#  include <stdint.h> /* INFRINGES ON USER NAME SPACE */
342
#  define YY_STDINT_H
343
# endif
344
#endif
345
346
/* Narrow types that promote to a signed type and that can represent a
347
   signed or unsigned integer of at least N bits.  In tables they can
348
   save space and decrease cache pressure.  Promoting to a signed type
349
   helps avoid bugs in integer arithmetic.  */
350
351
#ifdef __INT_LEAST8_MAX__
352
typedef __INT_LEAST8_TYPE__ yytype_int8;
353
#elif defined YY_STDINT_H
354
typedef int_least8_t yytype_int8;
355
#else
356
typedef signed char yytype_int8;
357
#endif
358
359
#ifdef __INT_LEAST16_MAX__
360
typedef __INT_LEAST16_TYPE__ yytype_int16;
361
#elif defined YY_STDINT_H
362
typedef int_least16_t yytype_int16;
363
#else
364
typedef short yytype_int16;
365
#endif
366
367
#if defined __UINT_LEAST8_MAX__ && __UINT_LEAST8_MAX__ <= __INT_MAX__
368
typedef __UINT_LEAST8_TYPE__ yytype_uint8;
369
#elif (!defined __UINT_LEAST8_MAX__ && defined YY_STDINT_H \
370
       && UINT_LEAST8_MAX <= INT_MAX)
371
typedef uint_least8_t yytype_uint8;
372
#elif !defined __UINT_LEAST8_MAX__ && UCHAR_MAX <= INT_MAX
373
typedef unsigned char yytype_uint8;
374
#else
375
typedef short yytype_uint8;
376
#endif
377
378
#if defined __UINT_LEAST16_MAX__ && __UINT_LEAST16_MAX__ <= __INT_MAX__
379
typedef __UINT_LEAST16_TYPE__ yytype_uint16;
380
#elif (!defined __UINT_LEAST16_MAX__ && defined YY_STDINT_H \
381
       && UINT_LEAST16_MAX <= INT_MAX)
382
typedef uint_least16_t yytype_uint16;
383
#elif !defined __UINT_LEAST16_MAX__ && USHRT_MAX <= INT_MAX
384
typedef unsigned short yytype_uint16;
385
#else
386
typedef int yytype_uint16;
387
#endif
388
389
#ifndef YYPTRDIFF_T
390
# if defined __PTRDIFF_TYPE__ && defined __PTRDIFF_MAX__
391
0
#  define YYPTRDIFF_T __PTRDIFF_TYPE__
392
#  define YYPTRDIFF_MAXIMUM __PTRDIFF_MAX__
393
# elif defined PTRDIFF_MAX
394
#  ifndef ptrdiff_t
395
#   include <stddef.h> /* INFRINGES ON USER NAME SPACE */
396
#  endif
397
#  define YYPTRDIFF_T ptrdiff_t
398
#  define YYPTRDIFF_MAXIMUM PTRDIFF_MAX
399
# else
400
#  define YYPTRDIFF_T long
401
#  define YYPTRDIFF_MAXIMUM LONG_MAX
402
# endif
403
#endif
404
405
#ifndef YYSIZE_T
406
# ifdef __SIZE_TYPE__
407
#  define YYSIZE_T __SIZE_TYPE__
408
# elif defined size_t
409
#  define YYSIZE_T size_t
410
# elif defined __STDC_VERSION__ && 199901 <= __STDC_VERSION__
411
#  include <stddef.h> /* INFRINGES ON USER NAME SPACE */
412
#  define YYSIZE_T size_t
413
# else
414
#  define YYSIZE_T unsigned
415
# endif
416
#endif
417
418
#define YYSIZE_MAXIMUM                                  \
419
0
  YY_CAST (YYPTRDIFF_T,                                 \
420
           (YYPTRDIFF_MAXIMUM < YY_CAST (YYSIZE_T, -1)  \
421
            ? YYPTRDIFF_MAXIMUM                         \
422
            : YY_CAST (YYSIZE_T, -1)))
423
424
0
#define YYSIZEOF(X) YY_CAST (YYPTRDIFF_T, sizeof (X))
425
426
/* Stored state numbers (used for stacks). */
427
typedef yytype_int16 yy_state_t;
428
429
/* State numbers in computations.  */
430
typedef int yy_state_fast_t;
431
432
#ifndef YY_
433
# if defined YYENABLE_NLS && YYENABLE_NLS
434
#  if ENABLE_NLS
435
#   include <libintl.h> /* INFRINGES ON USER NAME SPACE */
436
#   define YY_(Msgid) dgettext ("bison-runtime", Msgid)
437
#  endif
438
# endif
439
# ifndef YY_
440
0
#  define YY_(Msgid) Msgid
441
# endif
442
#endif
443
444
#ifndef YY_ATTRIBUTE_PURE
445
# if defined __GNUC__ && 2 < __GNUC__ + (96 <= __GNUC_MINOR__)
446
#  define YY_ATTRIBUTE_PURE __attribute__ ((__pure__))
447
# else
448
#  define YY_ATTRIBUTE_PURE
449
# endif
450
#endif
451
452
#ifndef YY_ATTRIBUTE_UNUSED
453
# if defined __GNUC__ && 2 < __GNUC__ + (7 <= __GNUC_MINOR__)
454
#  define YY_ATTRIBUTE_UNUSED __attribute__ ((__unused__))
455
# else
456
#  define YY_ATTRIBUTE_UNUSED
457
# endif
458
#endif
459
460
/* Suppress unused-variable warnings by "using" E.  */
461
#if ! defined lint || defined __GNUC__
462
0
# define YYUSE(E) ((void) (E))
463
#else
464
# define YYUSE(E) /* empty */
465
#endif
466
467
#if defined __GNUC__ && ! defined __ICC && 407 <= __GNUC__ * 100 + __GNUC_MINOR__
468
/* Suppress an incorrect diagnostic about yylval being uninitialized.  */
469
# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN                            \
470
    _Pragma ("GCC diagnostic push")                                     \
471
    _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")              \
472
    _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"")
473
# define YY_IGNORE_MAYBE_UNINITIALIZED_END      \
474
    _Pragma ("GCC diagnostic pop")
475
#else
476
0
# define YY_INITIAL_VALUE(Value) Value
477
#endif
478
#ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
479
# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
480
# define YY_IGNORE_MAYBE_UNINITIALIZED_END
481
#endif
482
#ifndef YY_INITIAL_VALUE
483
# define YY_INITIAL_VALUE(Value) /* Nothing. */
484
#endif
485
486
#if defined __cplusplus && defined __GNUC__ && ! defined __ICC && 6 <= __GNUC__
487
# define YY_IGNORE_USELESS_CAST_BEGIN                          \
488
    _Pragma ("GCC diagnostic push")                            \
489
    _Pragma ("GCC diagnostic ignored \"-Wuseless-cast\"")
490
# define YY_IGNORE_USELESS_CAST_END            \
491
    _Pragma ("GCC diagnostic pop")
492
#endif
493
#ifndef YY_IGNORE_USELESS_CAST_BEGIN
494
# define YY_IGNORE_USELESS_CAST_BEGIN
495
# define YY_IGNORE_USELESS_CAST_END
496
#endif
497
498
499
0
#define YY_ASSERT(E) ((void) (0 && (E)))
500
501
#if ! defined yyoverflow || YYERROR_VERBOSE
502
503
/* The parser invokes alloca or malloc; define the necessary symbols.  */
504
505
# ifdef YYSTACK_USE_ALLOCA
506
#  if YYSTACK_USE_ALLOCA
507
#   ifdef __GNUC__
508
#    define YYSTACK_ALLOC __builtin_alloca
509
#   elif defined __BUILTIN_VA_ARG_INCR
510
#    include <alloca.h> /* INFRINGES ON USER NAME SPACE */
511
#   elif defined _AIX
512
#    define YYSTACK_ALLOC __alloca
513
#   elif defined _MSC_VER
514
#    include <malloc.h> /* INFRINGES ON USER NAME SPACE */
515
#    define alloca _alloca
516
#   else
517
#    define YYSTACK_ALLOC alloca
518
#    if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS
519
#     include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
520
      /* Use EXIT_SUCCESS as a witness for stdlib.h.  */
521
#     ifndef EXIT_SUCCESS
522
#      define EXIT_SUCCESS 0
523
#     endif
524
#    endif
525
#   endif
526
#  endif
527
# endif
528
529
# ifdef YYSTACK_ALLOC
530
   /* Pacify GCC's 'empty if-body' warning.  */
531
#  define YYSTACK_FREE(Ptr) do { /* empty */; } while (0)
532
#  ifndef YYSTACK_ALLOC_MAXIMUM
533
    /* The OS might guarantee only one guard page at the bottom of the stack,
534
       and a page size can be as small as 4096 bytes.  So we cannot safely
535
       invoke alloca (N) if N exceeds 4096.  Use a slightly smaller number
536
       to allow for a few compiler-allocated temporary stack slots.  */
537
#   define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */
538
#  endif
539
# else
540
#  define YYSTACK_ALLOC YYMALLOC
541
0
#  define YYSTACK_FREE YYFREE
542
#  ifndef YYSTACK_ALLOC_MAXIMUM
543
0
#   define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
544
#  endif
545
#  if (defined __cplusplus && ! defined EXIT_SUCCESS \
546
       && ! ((defined YYMALLOC || defined malloc) \
547
             && (defined YYFREE || defined free)))
548
#   include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
549
#   ifndef EXIT_SUCCESS
550
#    define EXIT_SUCCESS 0
551
#   endif
552
#  endif
553
#  ifndef YYMALLOC
554
#   define YYMALLOC malloc
555
#   if ! defined malloc && ! defined EXIT_SUCCESS
556
void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
557
#   endif
558
#  endif
559
#  ifndef YYFREE
560
0
#   define YYFREE free
561
#   if ! defined free && ! defined EXIT_SUCCESS
562
void free (void *); /* INFRINGES ON USER NAME SPACE */
563
#   endif
564
#  endif
565
# endif
566
#endif /* ! defined yyoverflow || YYERROR_VERBOSE */
567
568
569
#if (! defined yyoverflow \
570
     && (! defined __cplusplus \
571
         || (defined ZENDSTYPE_IS_TRIVIAL && ZENDSTYPE_IS_TRIVIAL)))
572
573
/* A type that is properly aligned for any stack member.  */
574
union yyalloc
575
{
576
  yy_state_t yyss_alloc;
577
  YYSTYPE yyvs_alloc;
578
};
579
580
/* The size of the maximum gap between one aligned stack and the next.  */
581
0
# define YYSTACK_GAP_MAXIMUM (YYSIZEOF (union yyalloc) - 1)
582
583
/* The size of an array large to enough to hold all stacks, each with
584
   N elements.  */
585
# define YYSTACK_BYTES(N) \
586
     ((N) * (YYSIZEOF (yy_state_t) + YYSIZEOF (YYSTYPE)) \
587
      + YYSTACK_GAP_MAXIMUM)
588
589
# define YYCOPY_NEEDED 1
590
591
/* Relocate STACK from its old location to the new one.  The
592
   local variables YYSIZE and YYSTACKSIZE give the old and new number of
593
   elements in the stack, and YYPTR gives the new location of the
594
   stack.  Advance YYPTR to a properly aligned location for the next
595
   stack.  */
596
# define YYSTACK_RELOCATE(Stack_alloc, Stack)                           \
597
0
    do                                                                  \
598
0
      {                                                                 \
599
0
        YYPTRDIFF_T yynewbytes;                                         \
600
0
        YYCOPY (&yyptr->Stack_alloc, Stack, yysize);                    \
601
0
        Stack = &yyptr->Stack_alloc;                                    \
602
0
        yynewbytes = yystacksize * YYSIZEOF (*Stack) + YYSTACK_GAP_MAXIMUM; \
603
0
        yyptr += yynewbytes / YYSIZEOF (*yyptr);                        \
604
0
      }                                                                 \
605
0
    while (0)
606
607
#endif
608
609
#if defined YYCOPY_NEEDED && YYCOPY_NEEDED
610
/* Copy COUNT objects from SRC to DST.  The source and destination do
611
   not overlap.  */
612
# ifndef YYCOPY
613
#  if defined __GNUC__ && 1 < __GNUC__
614
#   define YYCOPY(Dst, Src, Count) \
615
0
      __builtin_memcpy (Dst, Src, YY_CAST (YYSIZE_T, (Count)) * sizeof (*(Src)))
616
#  else
617
#   define YYCOPY(Dst, Src, Count)              \
618
      do                                        \
619
        {                                       \
620
          YYPTRDIFF_T yyi;                      \
621
          for (yyi = 0; yyi < (Count); yyi++)   \
622
            (Dst)[yyi] = (Src)[yyi];            \
623
        }                                       \
624
      while (0)
625
#  endif
626
# endif
627
#endif /* !YYCOPY_NEEDED */
628
629
/* YYFINAL -- State number of the termination state.  */
630
0
#define YYFINAL  3
631
/* YYLAST -- Last index in YYTABLE.  */
632
0
#define YYLAST   10430
633
634
/* YYNTOKENS -- Number of terminals.  */
635
0
#define YYNTOKENS  185
636
/* YYNNTS -- Number of nonterminals.  */
637
#define YYNNTS  189
638
/* YYNRULES -- Number of rules.  */
639
#define YYNRULES  636
640
/* YYNSTATES -- Number of states.  */
641
#define YYNSTATES  1204
642
643
0
#define YYUNDEFTOK  2
644
0
#define YYMAXUTOK   412
645
646
647
/* YYTRANSLATE(TOKEN-NUM) -- Symbol number corresponding to TOKEN-NUM
648
   as returned by yylex, with out-of-bounds checking.  */
649
#define YYTRANSLATE(YYX)                                                \
650
0
  (0 <= (YYX) && (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
651
652
/* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM
653
   as returned by yylex.  */
654
static const yytype_uint8 yytranslate[] =
655
{
656
       0,     2,     2,     2,     2,     2,     2,     2,     2,     2,
657
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
658
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
659
       2,     2,     2,    57,   183,     2,   184,    56,     2,     2,
660
     177,   178,    54,    52,   174,    53,    49,    55,     2,     2,
661
       2,     2,     2,     2,     2,     2,     2,     2,    31,   176,
662
      44,    16,    46,    30,    67,     2,     2,     2,     2,     2,
663
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
664
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
665
       2,   181,     2,   175,    36,     2,   182,     2,     2,     2,
666
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
667
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
668
       2,     2,     2,   179,    35,   180,    59,     2,     2,     2,
669
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
670
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
671
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
672
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
673
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
674
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
675
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
676
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
677
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
678
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
679
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
680
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
681
       2,     2,     2,     2,     2,     2,     1,     2,     3,     4,
682
       5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
683
      15,    17,    18,    19,    20,    21,    22,    23,    24,    25,
684
      26,    27,    28,    29,    32,    33,    34,    37,    38,    39,
685
      40,    41,    42,    43,    45,    47,    48,    50,    51,    58,
686
      60,    61,    62,    63,    64,    65,    66,    68,    69,    70,
687
      71,    72,    73,    74,    75,    76,    77,    78,    79,    80,
688
      81,    82,    83,    84,    85,    86,    87,    88,    89,    90,
689
      91,    92,    93,    94,    95,    96,    97,    98,    99,   100,
690
     101,   102,   103,   104,   105,   106,   107,   108,   109,   110,
691
     111,   112,   113,   114,   115,   116,   117,   118,   119,   120,
692
     121,   122,   123,   124,   125,   126,   127,   128,   129,   130,
693
     131,   132,   133,   134,   135,   136,   137,   138,   139,   140,
694
     141,   142,   143,   144,   145,   146,   147,   148,   149,   150,
695
     151,   152,   153,   154,   155,   156,   157,   158,   159,   160,
696
     161,   162,   163,   164,   165,   166,   167,   168,   169,   170,
697
     171,   172,   173
698
};
699
700
#if ZENDDEBUG
701
  /* YYRLINE[YYN] -- Source line where rule number YYN was defined.  */
702
static const yytype_int16 yyrline[] =
703
{
704
       0,   303,   303,   307,   307,   307,   307,   307,   307,   307,
705
     307,   308,   308,   308,   308,   308,   308,   308,   308,   308,
706
     308,   308,   308,   309,   309,   309,   309,   309,   309,   309,
707
     309,   309,   309,   310,   310,   310,   310,   310,   310,   310,
708
     310,   310,   310,   311,   311,   311,   311,   311,   311,   311,
709
     311,   311,   311,   311,   312,   312,   312,   312,   312,   312,
710
     312,   312,   313,   313,   313,   313,   313,   313,   313,   313,
711
     313,   313,   313,   314,   318,   319,   319,   319,   319,   319,
712
     319,   319,   323,   324,   328,   329,   337,   338,   343,   344,
713
     349,   350,   355,   356,   360,   361,   362,   363,   367,   369,
714
     374,   376,   381,   385,   386,   390,   391,   392,   393,   394,
715
     398,   399,   403,   404,   405,   406,   410,   413,   413,   416,
716
     416,   419,   420,   421,   422,   426,   427,   431,   436,   441,
717
     442,   446,   448,   453,   455,   460,   462,   467,   468,   472,
718
     474,   479,   481,   486,   487,   491,   493,   499,   500,   501,
719
     502,   509,   510,   511,   512,   514,   516,   518,   520,   521,
720
     522,   523,   524,   525,   526,   527,   528,   529,   531,   535,
721
     534,   538,   539,   541,   542,   543,   547,   549,   554,   555,
722
     559,   560,   564,   565,   569,   570,   574,   578,   579,   587,
723
     594,   595,   599,   600,   604,   604,   607,   607,   613,   614,
724
     619,   621,   626,   627,   631,   632,   633,   637,   637,   643,
725
     643,   649,   649,   655,   656,   660,   665,   666,   670,   671,
726
     675,   676,   680,   681,   685,   686,   687,   688,   692,   693,
727
     697,   698,   702,   703,   707,   708,   709,   710,   714,   715,
728
     717,   719,   721,   727,   732,   733,   737,   738,   742,   744,
729
     749,   750,   755,   756,   761,   764,   770,   771,   776,   779,
730
     785,   786,   792,   793,   798,   800,   805,   806,   810,   812,
731
     818,   822,   829,   830,   834,   835,   836,   837,   841,   842,
732
     846,   847,   851,   853,   858,   859,   866,   867,   868,   869,
733
     873,   874,   875,   879,   880,   884,   886,   891,   893,   898,
734
     899,   903,   904,   908,   910,   924,   925,   926,   930,   932,
735
     934,   939,   941,   943,   945,   947,   952,   953,   957,   958,
736
     962,   968,   969,   973,   974,   978,   980,   986,   989,   992,
737
     995,   998,  1002,  1006,  1007,  1008,  1013,  1014,  1018,  1019,
738
    1020,  1024,  1026,  1031,  1032,  1036,  1041,  1043,  1047,  1052,
739
    1060,  1062,  1066,  1071,  1072,  1076,  1079,  1084,  1086,  1093,
740
    1095,  1102,  1104,  1109,  1110,  1111,  1112,  1113,  1114,  1115,
741
    1116,  1117,  1118,  1122,  1123,  1127,  1129,  1134,  1136,  1141,
742
    1142,  1143,  1149,  1150,  1154,  1155,  1163,  1162,  1173,  1174,
743
    1175,  1180,  1181,  1185,  1186,  1190,  1191,  1199,  1203,  1204,
744
    1207,  1211,  1212,  1213,  1217,  1218,  1222,  1223,  1224,  1225,
745
    1229,  1229,  1239,  1241,  1243,  1248,  1253,  1255,  1257,  1259,
746
    1261,  1263,  1268,  1273,  1275,  1277,  1279,  1281,  1283,  1285,
747
    1287,  1289,  1291,  1293,  1295,  1297,  1299,  1300,  1301,  1302,
748
    1303,  1305,  1307,  1309,  1311,  1313,  1314,  1315,  1316,  1317,
749
    1318,  1319,  1320,  1321,  1322,  1323,  1324,  1325,  1326,  1327,
750
    1328,  1329,  1330,  1332,  1334,  1336,  1338,  1340,  1342,  1344,
751
    1346,  1348,  1350,  1352,  1357,  1358,  1359,  1361,  1363,  1365,
752
    1366,  1367,  1368,  1369,  1370,  1371,  1372,  1373,  1378,  1379,
753
    1380,  1381,  1382,  1383,  1384,  1385,  1386,  1387,  1388,  1389,
754
    1390,  1392,  1397,  1402,  1410,  1414,  1418,  1422,  1426,  1430,
755
    1431,  1435,  1436,  1440,  1441,  1445,  1446,  1450,  1452,  1457,
756
    1459,  1461,  1461,  1468,  1471,  1475,  1476,  1477,  1481,  1483,
757
    1484,  1489,  1490,  1495,  1496,  1497,  1498,  1502,  1503,  1504,
758
    1505,  1507,  1508,  1509,  1510,  1514,  1515,  1516,  1517,  1518,
759
    1519,  1520,  1521,  1522,  1523,  1527,  1529,  1531,  1533,  1538,
760
    1539,  1543,  1547,  1548,  1552,  1553,  1554,  1558,  1559,  1563,
761
    1564,  1565,  1566,  1570,  1572,  1574,  1576,  1578,  1582,  1584,
762
    1586,  1588,  1593,  1594,  1595,  1599,  1601,  1606,  1608,  1610,
763
    1612,  1614,  1616,  1621,  1622,  1623,  1627,  1628,  1629,  1633,
764
    1638,  1639,  1643,  1645,  1650,  1652,  1654,  1656,  1658,  1660,
765
    1663,  1669,  1671,  1673,  1675,  1680,  1682,  1685,  1688,  1691,
766
    1693,  1695,  1698,  1702,  1703,  1704,  1705,  1710,  1711,  1712,
767
    1714,  1716,  1718,  1720,  1725,  1726,  1731
768
};
769
#endif
770
771
#if ZENDDEBUG || YYERROR_VERBOSE || 1
772
/* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
773
   First, the terminals, then, starting at YYNTOKENS, nonterminals.  */
774
static const char *const yytname[] =
775
{
776
  "\"end of file\"", "error", "$undefined", "\"'throw'\"",
777
  "PREC_ARROW_FUNCTION", "\"'include'\"", "\"'include_once'\"",
778
  "\"'require'\"", "\"'require_once'\"", "\"'or'\"", "\"'xor'\"",
779
  "\"'and'\"", "\"'print'\"", "\"'yield'\"", "\"'=>'\"",
780
  "\"'yield from'\"", "'='", "\"'+='\"", "\"'-='\"", "\"'*='\"",
781
  "\"'/='\"", "\"'.='\"", "\"'%='\"", "\"'&='\"", "\"'|='\"", "\"'^='\"",
782
  "\"'<<='\"", "\"'>>='\"", "\"'**='\"", "\"'?""?='\"", "'?'", "':'",
783
  "\"'?""?'\"", "\"'||'\"", "\"'&&'\"", "'|'", "'^'", "\"amp\"", "\"'&'\"",
784
  "\"'=='\"", "\"'!='\"", "\"'==='\"", "\"'!=='\"", "\"'<=>'\"", "'<'",
785
  "\"'<='\"", "'>'", "\"'>='\"", "\"'|>'\"", "'.'", "\"'<<'\"", "\"'>>'\"",
786
  "'+'", "'-'", "'*'", "'/'", "'%'", "'!'", "\"'instanceof'\"", "'~'",
787
  "\"'(int)'\"", "\"'(float)'\"", "\"'(string)'\"", "\"'(array)'\"",
788
  "\"'(object)'\"", "\"'(bool)'\"", "\"'(unset)'\"", "'@'", "\"'**'\"",
789
  "\"'clone'\"", "T_NOELSE", "\"'elseif'\"", "\"'else'\"", "\"integer\"",
790
  "\"floating-point number\"", "\"identifier\"",
791
  "\"fully qualified name\"", "\"namespace-relative name\"",
792
  "\"namespaced name\"", "\"variable\"", "T_INLINE_HTML",
793
  "\"string content\"", "\"quoted string\"", "\"variable name\"",
794
  "\"number\"", "\"'eval'\"", "\"'new'\"", "\"'exit'\"", "\"'if'\"",
795
  "\"'endif'\"", "\"'echo'\"", "\"'do'\"", "\"'while'\"", "\"'endwhile'\"",
796
  "\"'for'\"", "\"'endfor'\"", "\"'foreach'\"", "\"'endforeach'\"",
797
  "\"'declare'\"", "\"'enddeclare'\"", "\"'as'\"", "\"'switch'\"",
798
  "\"'endswitch'\"", "\"'case'\"", "\"'default'\"", "\"'match'\"",
799
  "\"'break'\"", "\"'continue'\"", "\"'goto'\"", "\"'function'\"",
800
  "\"'fn'\"", "\"'const'\"", "\"'return'\"", "\"'try'\"", "\"'catch'\"",
801
  "\"'finally'\"", "\"'use'\"", "\"'insteadof'\"", "\"'global'\"",
802
  "\"'static'\"", "\"'abstract'\"", "\"'final'\"", "\"'private'\"",
803
  "\"'protected'\"", "\"'public'\"", "\"'private(set)'\"",
804
  "\"'protected(set)'\"", "\"'public(set)'\"", "\"'readonly'\"",
805
  "\"'var'\"", "\"'unset'\"", "\"'isset'\"", "\"'empty'\"",
806
  "\"'__halt_compiler'\"", "\"'class'\"", "\"'trait'\"", "\"'interface'\"",
807
  "\"'enum'\"", "\"'extends'\"", "\"'implements'\"", "\"'namespace'\"",
808
  "\"'list'\"", "\"'array'\"", "\"'callable'\"", "\"'__LINE__'\"",
809
  "\"'__FILE__'\"", "\"'__DIR__'\"", "\"'__CLASS__'\"", "\"'__TRAIT__'\"",
810
  "\"'__METHOD__'\"", "\"'__FUNCTION__'\"", "\"'__PROPERTY__'\"",
811
  "\"'__NAMESPACE__'\"", "\"'#['\"", "\"'++'\"", "\"'--'\"",
812
  "\"'(void)'\"", "\"'->'\"", "\"'?->'\"", "\"comment\"",
813
  "\"doc comment\"", "\"open tag\"", "\"'<?='\"", "\"'?>'\"",
814
  "\"whitespace\"", "\"heredoc start\"", "\"heredoc end\"", "\"'${'\"",
815
  "\"'{$'\"", "\"'::'\"", "\"'\\\\'\"", "\"'...'\"",
816
  "\"invalid character\"", "T_ERROR", "','", "']'", "';'", "'('", "')'",
817
  "'{'", "'}'", "'['", "'`'", "'\"'", "'$'", "$accept", "start",
818
  "reserved_non_modifiers", "semi_reserved", "ampersand", "identifier",
819
  "top_statement_list", "namespace_declaration_name", "namespace_name",
820
  "legacy_namespace_name", "name", "attribute_decl", "attribute_group",
821
  "attribute", "attributes", "attributed_statement",
822
  "attributed_top_statement", "top_statement", "$@1", "$@2", "use_type",
823
  "group_use_declaration", "mixed_group_use_declaration", "possible_comma",
824
  "inline_use_declarations", "unprefixed_use_declarations",
825
  "use_declarations", "inline_use_declaration",
826
  "unprefixed_use_declaration", "use_declaration", "const_list",
827
  "inner_statement_list", "inner_statement", "statement", "$@3",
828
  "catch_list", "catch_name_list", "optional_variable",
829
  "finally_statement", "unset_variables", "unset_variable",
830
  "function_name", "function_declaration_statement", "is_reference",
831
  "is_variadic", "class_declaration_statement", "@4", "@5",
832
  "class_modifiers", "anonymous_class_modifiers",
833
  "anonymous_class_modifiers_optional", "class_modifier",
834
  "trait_declaration_statement", "@6", "interface_declaration_statement",
835
  "@7", "enum_declaration_statement", "@8", "enum_backing_type",
836
  "enum_case", "enum_case_expr", "extends_from", "interface_extends_list",
837
  "implements_list", "foreach_variable", "for_statement",
838
  "foreach_statement", "declare_statement", "switch_case_list",
839
  "case_list", "match", "match_arm_list", "non_empty_match_arm_list",
840
  "match_arm", "match_arm_cond_list", "while_statement",
841
  "if_stmt_without_else", "if_stmt", "alt_if_stmt_without_else",
842
  "alt_if_stmt", "parameter_list", "non_empty_parameter_list",
843
  "attributed_parameter", "optional_cpp_modifiers", "parameter",
844
  "optional_type_without_static", "type_expr", "type",
845
  "union_type_element", "union_type", "intersection_type",
846
  "type_expr_without_static", "type_without_static",
847
  "union_type_without_static_element", "union_type_without_static",
848
  "intersection_type_without_static", "return_type", "argument_list",
849
  "non_empty_argument_list", "clone_argument_list",
850
  "non_empty_clone_argument_list", "argument_no_expr", "argument",
851
  "global_var_list", "global_var", "static_var_list", "static_var",
852
  "class_statement_list", "attributed_class_statement", "class_statement",
853
  "class_name_list", "trait_adaptations", "trait_adaptation_list",
854
  "trait_adaptation", "trait_precedence", "trait_alias",
855
  "trait_method_reference", "absolute_trait_method_reference",
856
  "method_body", "property_modifiers", "method_modifiers",
857
  "class_const_modifiers", "non_empty_member_modifiers", "member_modifier",
858
  "property_list", "property", "hooked_property", "property_hook_list",
859
  "optional_property_hook_list", "property_hook_modifiers",
860
  "property_hook", "@9", "property_hook_body", "optional_parameter_list",
861
  "class_const_list", "class_const_decl", "const_decl", "echo_expr_list",
862
  "echo_expr", "for_cond_exprs", "for_exprs", "non_empty_for_exprs",
863
  "anonymous_class", "@10", "new_dereferenceable",
864
  "new_non_dereferenceable", "expr", "inline_function", "fn", "function",
865
  "backup_doc_comment", "backup_fn_flags", "backup_lex_pos", "returns_ref",
866
  "lexical_vars", "lexical_var_list", "lexical_var", "function_call",
867
  "@11", "class_name", "class_name_reference", "backticks_expr",
868
  "ctor_arguments", "dereferenceable_scalar", "scalar", "constant",
869
  "class_constant", "optional_expr", "variable_class_name",
870
  "fully_dereferenceable", "array_object_dereferenceable", "callable_expr",
871
  "callable_variable", "variable", "simple_variable", "static_member",
872
  "new_variable", "member_name", "property_name", "array_pair_list",
873
  "possible_array_pair", "non_empty_array_pair_list", "array_pair",
874
  "encaps_list", "encaps_var", "encaps_var_offset",
875
  "internal_functions_in_yacc", "isset_variables", "isset_variable", YY_NULLPTR
876
};
877
#endif
878
879
# ifdef YYPRINT
880
/* YYTOKNUM[NUM] -- (External) token number corresponding to the
881
   (internal) symbol number NUM (which must be that of a token).  */
882
static const yytype_int16 yytoknum[] =
883
{
884
       0,   256,   257,   258,   259,   260,   261,   262,   263,   264,
885
     265,   266,   267,   268,   269,   270,    61,   271,   272,   273,
886
     274,   275,   276,   277,   278,   279,   280,   281,   282,   283,
887
      63,    58,   284,   285,   286,   124,    94,   287,   288,   289,
888
     290,   291,   292,   293,    60,   294,    62,   295,   296,    46,
889
     297,   298,    43,    45,    42,    47,    37,    33,   299,   126,
890
     300,   301,   302,   303,   304,   305,   306,    64,   307,   308,
891
     309,   310,   311,   312,   313,   314,   315,   316,   317,   318,
892
     319,   320,   321,   322,   323,   324,   325,   326,   327,   328,
893
     329,   330,   331,   332,   333,   334,   335,   336,   337,   338,
894
     339,   340,   341,   342,   343,   344,   345,   346,   347,   348,
895
     349,   350,   351,   352,   353,   354,   355,   356,   357,   358,
896
     359,   360,   361,   362,   363,   364,   365,   366,   367,   368,
897
     369,   370,   371,   372,   373,   374,   375,   376,   377,   378,
898
     379,   380,   381,   382,   383,   384,   385,   386,   387,   388,
899
     389,   390,   391,   392,   393,   394,   395,   396,   397,   398,
900
     399,   400,   401,   402,   403,   404,   405,   406,   407,   408,
901
     409,   410,   411,   412,    44,    93,    59,    40,    41,   123,
902
     125,    91,    96,    34,    36
903
};
904
# endif
905
906
0
#define YYPACT_NINF (-1071)
907
908
#define yypact_value_is_default(Yyn) \
909
0
  ((Yyn) == YYPACT_NINF)
910
911
0
#define YYTABLE_NINF (-608)
912
913
#define yytable_value_is_error(Yyn) \
914
0
  ((Yyn) == YYTABLE_NINF)
915
916
  /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
917
     STATE-NUM.  */
918
static const yytype_int16 yypact[] =
919
{
920
   -1071,    62,  2252, -1071,  7334,  7334,  7334,  7334,  7334,  7334,
921
    7334,  7334,  7334,  7334,  7334,  7334,  7334,  7334,  7334,  7334,
922
    7334,  7334,  7334,  7334,  7488, -1071, -1071,    52, -1071, -1071,
923
   -1071, -1071, -1071, -1071,   -75,  1041,   -50,   -23,  7334,  5639,
924
      13,    21,    43,    49,   103,   125,  7334,  7334,   108, -1071,
925
   -1071,   156,  7334,    73,   271,   -32,   -20, -1071, -1071,   -50,
926
     149,   157,   180,   186, -1071, -1071, -1071, -1071,  9538,   196,
927
     207, -1071, -1071, -1071, -1071, -1071, -1071, -1071, -1071, -1071,
928
   -1071,  9916,  9916,  7334,   172, -1071,  7334, -1071,  5793,    -1,
929
     153,    -6,   -81, -1071,   836, -1071, -1071, -1071, -1071, -1071,
930
   -1071,   307, -1071, -1071, -1071, -1071, -1071,   461, -1071,   136,
931
   -1071,   214, -1071,  9048, -1071,   501,   501, -1071,   107,   384,
932
   -1071,   170,   390,   184,   220,   388, -1071,   215,  1808, -1071,
933
   -1071, -1071, -1071,   445,   -50,   250, 10240,   501, 10240, 10240,
934
   10240, 10240,  7643, 10332,  7643,   328,   328,     9,   328,   328,
935
     328,   328,   328,   328,   328,   328,   328,  1244, -1071, -1071,
936
   -1071,  7334, -1071, -1071,  7334, -1071,   117,   529,   284, -1071,
937
   -1071,   252,   -50, -1071,   427,  1426, -1071, -1071,  7334,   231,
938
   -1071, 10240,   348,  7334,  6255,  7334,   156,  7334,  7334, 10240,
939
     272,   319,   339,   510,   257, -1071,   367, -1071, -1071, -1071,
940
   -1071, -1071, -1071, -1071,     0,   292,   387,   263, -1071,   318,
941
   -1071, -1071,   556,   324, -1071, -1071, -1071,  9916,  7334,  7334,
942
     413,   508,   536,   539,   559, -1071, -1071, -1071, -1071, -1071,
943
   -1071, -1071, -1071, -1071, -1071, -1071, -1071, -1071, -1071, -1071,
944
   -1071, -1071, -1071, -1071, -1071, -1071, -1071, -1071, -1071, -1071,
945
   -1071, -1071, -1071, -1071, -1071, -1071, -1071, -1071, -1071, -1071,
946
   -1071, -1071, -1071, -1071, -1071, -1071, -1071, -1071, -1071, -1071,
947
   -1071, -1071, -1071, -1071, -1071, -1071, -1071, -1071, -1071, -1071,
948
   -1071, -1071, -1071, -1071, -1071, -1071, -1071, -1071, -1071, -1071,
949
   -1071, -1071, -1071, -1071, -1071, -1071, -1071, -1071, -1071, -1071,
950
   -1071, -1071, -1071, -1071, -1071, -1071, -1071, -1071,   462,   473,
951
    5793,  5793,   323,  1041,  7334,  5793,   481,   485, -1071, -1071,
952
     435,   435,  9098,   417,    -8, -1071,  6409,  9916,   176, -1071,
953
    8398,  2406, -1071, -1071,   492,  7334,  9916, 10140,   502, -1071,
954
     505, -1071,   101,   498,   194,   101,    50,  7334, -1071, -1071,
955
     445, -1071, -1071, -1071, -1071, -1071,   504,  5639,   509,   651,
956
     511,  7334,  7334,  7334,  6563,  7334,  7334,  7334,  7334,  7334,
957
    7334,  7334,  7334,  7334,  7334,  7334,  7334,  7334,  7334,  7334,
958
    7334,  7334,  7334,  7334,  7334,  7334,  7334,  7334,  7334,  7334,
959
     135,  7334, -1071, -1071, -1071,   -29,  4569,  4719,    -7,    -7,
960
    7334,   -50,  5947,  7334,  7334,  7334,  7334,  7334,  7334,  7334,
961
    7334,  7334,  7334,  7334,  7334,  7334, -1071, -1071, -1071,  7334,
962
    7334,  7334,  7334,  7334,  7334,  7334,  6717, -1071,  7488,    30,
963
     -75,  1036,    11,   125,   660,   663,    66,   -50,   157,   180,
964
     196,   207,   667,   668,   671,   672,   673,   680,   681,   683,
965
     685,  7334, -1071,   686,   545, -1071,  8347,  8448,  8498, -1071,
966
   -1071, -1071,   -32, -1071,    -7,    -7,   -32,  7334, -1071,   548,
967
   -1071, -1071, 10240,  8548,  7334, -1071,   547,  8598,  7334,   551,
968
     554, 10240, 10071,    28,  8648,  8698, -1071, -1071, -1071,  7334,
969
     156, -1071, -1071,  2560,   654,   558,    74,   555,   405, -1071,
970
     292, -1071,   -32, -1071,  7334,   656, -1071,   565, -1071,    84,
971
   10240,   566, -1071,  8748,   568,   608, -1071,   610,   719, -1071,
972
     572, -1071,   576,   577, -1071,   583,   -50,   -50,  8798,   589,
973
   -1071,   690,   691,   340, -1071, -1071,   440,  8096,   588, -1071,
974
   -1071, -1071,   399,   593, -1071,  4484, -1071, -1071, -1071,  5793,
975
   10240,   121,  6101,   759,  5793, -1071, -1071,  8146, -1071,   701,
976
    7334, -1071,  7334, -1071, -1071, 10289,  9531,  7643,  7334, 10190,
977
    7798,  7947,  9667,  4718,  9815,  9964,  9964, 10362, 10362, 10362,
978
   10362, 10362,  1595,  1595,  1595,  1595,  1156,   823,   834,   834,
979
     704,   704,     9,     9,     9, -1071,   328,   600, -1071, -1071,
980
   -1071,   602,  7334,   603,   604,   -50,  7334,   603,   604,   -50,
981
   -1071,  7334, -1071,   -50,   -50,   611, -1071,  9916,  7643,  7643,
982
    7643,  7643,  7643,  7643,  7643,  7643,  7643,  7643,  7643,  7643,
983
    7643,  7643,  7643, 10240,  6872,  1790,   607,  1608, -1071, -1071,
984
     -50, -1071, -1071, -1071, -1071,   612,  1790,   614,  4869, -1071,
985
    7334,  5023, 10240,  6255,  7026,  9285, -1071,    10,   609, 10240,
986
   -1071, -1071, -1071,   277,   615, -1071, -1071,   689, -1071, -1071,
987
   10240, -1071,  9916,   618,  7334,   619, -1071, -1071,   323,   659,
988
     621,   323, -1071,   189,   659, -1071,  1944,   774, -1071,   323,
989
     628, -1071,   629, -1071, -1071, -1071,   721, -1071, -1071, -1071,
990
     632, -1071,  7334, -1071, -1071,   630, -1071,   633,   638,  9916,
991
   10240,  7334, -1071, -1071,   608,  8848,  8898,  2714,  7798,  7334,
992
    1005,   639,  1005,  8196, -1071,  8247, -1071,  8297, -1071, -1071,
993
   -1071,   435, -1071, 10240, -1071, -1071, -1071, -1071,   608, -1071,
994
   -1071, -1071, -1071, -1071,  8948, -1071, -1071, -1071,   641,   645,
995
    9248,  7334, 10240,   644,  5793,  9916,     8,    14,  5177,   646,
996
     647, -1071,  7180, -1071,   531,   725,   232,   652, -1071, -1071,
997
     232, -1071,   655, -1071, -1071, -1071,   323, -1071, -1071,   653,
998
   -1071,   649,   301, -1071, -1071, -1071,   301, -1071, -1071,   523,
999
     798,   801,   805, -1071, -1071,  2098, -1071,  7334, -1071, -1071,
1000
   -1071, -1071,  9198,   662,   774,  5793,   248,  7643,   659,  5639,
1001
     813,   669,  7798, -1071, -1071, -1071, -1071, -1071, -1071, -1071,
1002
   -1071, -1071, -1071,  1341,   670,   677, -1071,   564, -1071,  1687,
1003
   -1071,  1005,   674,   678,   678, -1071,   659,  4408,   682,  2868,
1004
    6255,  7026, 10240,  5793,   687,    17,  9285,  5331, -1071, -1071,
1005
   -1071, -1071,   355, -1071,   -46,   694,   705,   695, -1071,   696,
1006
   10240,   718,   684, -1071,   772, -1071,   277,   717,   724, -1071,
1007
   -1071,   653,   722,  2321,   323, -1071, -1071,   866,     6,   301,
1008
     171,   171,   301,   726, -1071,  7643,   727, -1071,   728, -1071,
1009
   -1071, -1071, -1071, -1071,   878,  1117, -1071,   459,   459,   872,
1010
   -1071,   552,   876,   877,   879, -1071,   735,   799, -1071, -1071,
1011
     738,   741,  9298,   742,    23,   744, -1071, -1071, -1071,  3022,
1012
     426,   748,  7334,    20,   -38, -1071, -1071,   911, -1071,  7180,
1013
   -1071,  7334,   912,   323, -1071, -1071, -1071, -1071,   232,   749,
1014
   -1071, -1071,   323, -1071, -1071,  1161, -1071, -1071, -1071,   564,
1015
     821,   820,  1859, -1071,  2783, -1071, -1071, -1071, -1071, -1071,
1016
   -1071, -1071, -1071,   774,   754,  4408,   189,   922, -1071, -1071,
1017
     900,    16, -1071,   767,   459,   374,   374,   459,   878,   764,
1018
     878,   770, -1071,  5485, -1071,  5331,  3176,   777,   782, -1071,
1019
    8998, -1071, -1071, -1071,  7334, -1071, 10240,  7334,    46, -1071,
1020
    3330, -1071, -1071,  2937,  9688,   -82, -1071,   864,   501,  7950,
1021
   -1071,  3091, -1071, -1071, -1071, -1071, -1071,   869, -1071, -1071,
1022
   -1071, -1071, -1071, -1071,   285, -1071, -1071, -1071, -1071, -1071,
1023
   -1071,   789, -1071, -1071, -1071, -1071,  4408,  4408, 10240, 10240,
1024
     323, -1071,   788, -1071, -1071,   934, -1071,  7649, -1071,   951,
1025
     423, -1071, -1071,  9688,   952,   958,   959,   960,   961,  9838,
1026
     433, -1071, -1071,  3245, -1071,   962,   800, -1071,   902,   808,
1027
   -1071,   804,  3553,  3484, -1071,  4408,  4408, -1071,   806,  7334,
1028
     810,   819, -1071, -1071,  7799, -1071,   815,   816,   895,   880,
1029
     830,  7334,   824,   921, -1071, -1071,  7334,  7334,   952,   436,
1030
    9838, -1071, -1071,  7334,  7334,   826, -1071, -1071,   285,   832,
1031
   -1071, -1071,   835, -1071, 10240, -1071, -1071, -1071, -1071, -1071,
1032
    9388,   323,  9688, 10240, -1071,   986, -1071,   831, 10240, 10240,
1033
   -1071, -1071, 10240, 10240, -1071, -1071,  3638, -1071, -1071,  3792,
1034
   -1071,  3946, -1071, -1071,  9688,   653, -1071,   833,   503,  7334,
1035
   -1071,  1005, -1071, -1071, -1071,   826,  1327, -1071, -1071, -1071,
1036
   -1071, -1071, -1071,  1341,  1687,   501, -1071, 10240,   837, -1071,
1037
   -1071, -1071, -1071,  1509, -1071,   939, -1071,   878, -1071, -1071,
1038
   -1071, -1071,   154,   839, -1071, -1071, -1071,  1005, -1071,  4100,
1039
   -1071,   840,    24, -1071, -1071,  7334, -1071, -1071, -1071,  9148,
1040
    4254, -1071, -1071, -1071
1041
};
1042
1043
  /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
1044
     Performed when YYTABLE does not specify something else to do.  Zero
1045
     means the default is an error.  */
1046
static const yytype_int16 yydefact[] =
1047
{
1048
      87,     0,     2,     1,     0,     0,     0,     0,     0,     0,
1049
     492,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1050
       0,     0,     0,     0,     0,   537,   538,    94,    96,    97,
1051
      95,   582,   164,   535,     0,   202,   531,     0,     0,     0,
1052
       0,     0,     0,     0,     0,     0,   559,   559,     0,   505,
1053
     504,     0,   559,     0,     0,     0,   523,   204,   205,   206,
1054
       0,     0,     0,     0,   196,   207,   209,   211,   119,     0,
1055
       0,   546,   547,   548,   554,   549,   550,   551,   552,   553,
1056
     506,     0,     0,     0,     0,   171,     0,   146,   600,   528,
1057
       0,     0,   545,   103,     0,   110,   113,    86,   112,   105,
1058
     106,     0,   198,   107,   108,   109,   501,   256,   152,     0,
1059
     153,   474,   475,     0,   497,   509,   509,   577,     0,   542,
1060
     489,   543,   544,     0,   567,     0,   521,   578,   416,   573,
1061
     579,   479,    94,   523,     0,     0,   496,   509,   629,   630,
1062
     632,   633,   491,   493,   495,   458,   459,   460,   461,   480,
1063
     481,   482,   483,   484,   485,   486,   488,     0,   421,   422,
1064
     174,     0,   523,   206,     0,   524,   202,   203,     0,   200,
1065
     413,   525,   415,   587,   526,     0,   532,   487,     0,     0,
1066
     399,   400,     0,     0,   404,     0,     0,     0,     0,   560,
1067
       0,     0,     0,     0,     0,   144,     0,   146,    90,    93,
1068
      91,   125,   126,    92,   141,     0,     0,     0,   136,     0,
1069
     319,   320,   323,     0,   322,   499,   518,     0,     0,     0,
1070
       0,     0,     0,     0,     0,    33,     3,     4,     6,     7,
1071
       8,     9,    10,    46,    47,    11,    13,    16,    17,    84,
1072
      89,     5,    12,    14,    15,    18,    19,    20,    21,    22,
1073
      23,    24,    25,    26,    27,    28,    29,    49,    50,    51,
1074
      52,    71,    53,    41,    42,    43,    70,    44,    45,    30,
1075
      31,    32,    34,    35,    36,    75,    76,    77,    78,    79,
1076
      80,    81,    37,    38,    39,    40,    61,    59,    60,    72,
1077
      56,    57,    58,    48,    54,    55,    66,    67,    68,    62,
1078
      63,    65,    64,    73,    69,    74,    85,    88,   117,     0,
1079
     600,   600,     0,   202,     0,   600,   566,   564,   568,   565,
1080
     437,   439,     0,   615,     0,   540,     0,     0,     0,   613,
1081
       0,     0,    83,    82,     0,     0,     0,   605,     0,   603,
1082
     599,   601,   529,     0,   530,     0,     0,     0,   584,   517,
1083
       0,   104,   114,   498,   194,   199,     0,     0,     0,     0,
1084
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1085
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1086
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1087
       0,     0,   165,   510,   506,   506,     0,     0,     0,     0,
1088
     559,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1089
       0,     0,     0,     0,     0,     0,   436,   438,   506,     0,
1090
      33,     3,     4,     6,     7,    46,   492,   313,    13,    94,
1091
       5,    12,   531,    71,   505,   504,    75,    81,    39,    40,
1092
      48,    54,   546,   547,   548,   554,   549,   550,   551,   552,
1093
     553,   312,   305,     0,   129,   309,     0,     0,     0,   414,
1094
     201,   410,     0,   412,     0,     0,     0,   559,   301,   129,
1095
     317,   303,   316,     0,     0,   163,     0,     0,     0,     0,
1096
     405,   409,     0,     0,     0,     0,   158,   159,   173,     0,
1097
       0,   111,   160,     0,     0,     0,   141,     0,     0,   121,
1098
       0,   123,     0,   161,     0,     0,   162,   129,   184,   562,
1099
     636,   129,   634,     0,     0,   218,   506,   220,   213,   116,
1100
       0,    87,     0,     0,   100,   129,    98,     0,     0,     0,
1101
     175,     0,     0,     0,   539,   614,     0,     0,   562,   612,
1102
     541,   611,   473,     0,   151,     0,   148,   145,   147,   600,
1103
     608,   562,     0,   534,   600,   490,   536,     0,   500,     0,
1104
       0,   257,     0,   146,   260,   442,   444,   443,     0,     0,
1105
     478,   440,   441,   445,   448,   446,   447,   464,   465,   462,
1106
     463,   471,   467,   468,   469,   470,   466,   449,   456,   457,
1107
     450,   451,   452,   454,   455,   472,   453,     0,   187,   188,
1108
     506,     0,     0,   555,   585,     0,     0,   556,   586,     0,
1109
     596,     0,   598,   580,   581,     0,   522,     0,   419,   423,
1110
     424,   425,   427,   428,   429,   430,   431,   432,   433,   434,
1111
     426,   435,   494,   315,     0,   130,     0,     0,   631,   527,
1112
     531,   591,   589,   590,   592,     0,   130,     0,     0,   398,
1113
       0,     0,   408,   401,     0,     0,   169,     0,     0,   506,
1114
     143,   176,   142,     0,     0,   122,   124,   141,   135,   318,
1115
     324,   321,   130,     0,   130,     0,   628,   115,     0,   222,
1116
       0,     0,   506,     0,   222,    87,     0,     0,   533,   130,
1117
       0,    99,   563,   534,   617,   618,     0,   623,   626,   624,
1118
       0,   620,     0,   619,   622,     0,   149,     0,     0,     0,
1119
     604,     0,   602,   583,   218,     0,     0,     0,   477,     0,
1120
     268,     0,   268,     0,   519,     0,   520,     0,   575,   576,
1121
     574,   420,   314,   311,   310,   306,   307,   308,   218,   588,
1122
     304,   302,   146,   254,     0,   146,   252,   154,     0,     0,
1123
     403,     0,   406,     0,   600,     0,     0,   562,     0,   238,
1124
     238,   157,   244,   397,   182,   139,     0,   129,   132,   137,
1125
       0,   185,     0,   635,   627,   219,     0,   506,   326,   221,
1126
     336,     0,     0,   279,   290,   291,     0,   292,   214,   274,
1127
       0,   276,   277,   278,   506,     0,   120,     0,   101,   102,
1128
     625,   616,     0,     0,   610,   600,   562,   418,   222,     0,
1129
       0,     0,   476,   369,   370,   371,   365,   364,   363,   368,
1130
     367,   366,   372,   268,     0,   129,   264,   272,   267,   269,
1131
     361,   268,     0,   557,   558,   597,   222,   258,     0,     0,
1132
     404,     0,   407,   600,     0,   562,     0,     0,   146,   232,
1133
     170,   238,     0,   238,     0,   129,     0,   129,   246,   129,
1134
     250,     0,     0,   172,     0,   138,   130,     0,   129,   134,
1135
     166,   223,     0,   357,     0,   326,   275,     0,     0,     0,
1136
       0,     0,     0,     0,   118,   417,     0,   150,     0,   506,
1137
     255,   146,   261,   266,   299,   268,   262,     0,     0,   190,
1138
     273,   286,     0,   288,   289,   362,     0,   511,   506,   155,
1139
       0,     0,   402,     0,   534,     0,   146,   230,   167,     0,
1140
       0,     0,     0,     0,     0,   234,   130,     0,   243,   130,
1141
     245,   130,     0,     0,   146,   140,   131,   128,   130,     0,
1142
     326,   506,     0,   356,   208,   357,   332,   333,   325,   272,
1143
       0,     0,   355,   337,   357,   281,   284,   280,   282,   283,
1144
     285,   326,   621,   609,     0,   259,     0,     0,   265,   287,
1145
       0,     0,   191,   192,     0,     0,     0,     0,   299,     0,
1146
     299,     0,   253,     0,   226,     0,     0,     0,     0,   236,
1147
       0,   146,   146,   235,     0,   247,   251,     0,   180,   178,
1148
       0,   133,   127,   357,     0,     0,   334,     0,   509,     0,
1149
     210,   357,   326,   300,   507,   294,   193,     0,   297,   293,
1150
     295,   296,   298,   507,     0,   507,   326,   146,   228,   156,
1151
     168,     0,   233,   237,   146,   146,   241,   242,   249,   248,
1152
       0,   181,     0,   183,   197,   216,   338,     0,   335,   506,
1153
       0,   374,   328,     0,    94,   279,   290,   291,     0,     0,
1154
       0,   394,   212,   357,   508,   506,     0,   515,     0,   129,
1155
     514,     0,   357,     0,   231,   239,   240,   179,     0,     0,
1156
       0,    75,   339,   350,     0,   341,     0,     0,     0,   351,
1157
       0,     0,   375,     0,   327,   506,     0,     0,     0,     0,
1158
       0,   329,   195,     0,     0,   382,   146,   516,   130,     0,
1159
     146,   411,     0,   146,   217,   215,   340,   342,   343,   344,
1160
       0,     0,     0,   506,   379,   506,   373,     0,   506,   506,
1161
     330,   393,   507,   506,   379,   270,     0,   513,   512,     0,
1162
     229,     0,   346,   347,   349,   345,   352,   376,   384,     0,
1163
     375,   268,   395,   396,   503,   382,   384,   507,   507,   177,
1164
     348,   379,   377,   384,   385,   509,   380,   506,     0,   271,
1165
     383,   189,   502,   384,   381,     0,   376,   299,   378,   506,
1166
     507,   386,     0,   391,   353,   146,   507,   268,   507,     0,
1167
     331,     0,     0,   354,   392,     0,   388,   146,   507,     0,
1168
       0,   387,   390,   389
1169
};
1170
1171
  /* YYPGOTO[NTERM-NUM].  */
1172
static const yytype_int16 yypgoto[] =
1173
{
1174
   -1071, -1071,  -103,  -974,    34,   -60,  -481, -1071,   -44,  -191,
1175
     -15,   334, -1071,   -91,    -2,     7,   933, -1071, -1071, -1071,
1176
     975, -1071, -1071,  -451, -1071, -1071,   828,   165,  -745,   537,
1177
     850,  -178, -1071,    37, -1071, -1071, -1071, -1071, -1071, -1071,
1178
     366, -1071, -1071, -1071, -1071, -1071, -1071, -1071, -1071, -1071,
1179
   -1071,   -19, -1071, -1071, -1071, -1071, -1071, -1071, -1071, -1071,
1180
   -1071,  -651, -1071,  -655,   193, -1071,    58, -1071, -1071,  -712,
1181
   -1071, -1071, -1071,   115, -1071, -1071, -1071, -1071, -1071, -1071,
1182
    -698, -1071,   150, -1071,   223,    98,  -914,  -658,  -216, -1071,
1183
     262, -1071,  -734,  -303, -1071,   151,  -948,   169, -1071, -1071,
1184
   -1071,   896,  -346, -1071,   550, -1071,   560,  -796,   110, -1071,
1185
    -763, -1071, -1071,   -27, -1071, -1071, -1071, -1071, -1071, -1071,
1186
   -1071, -1071,  -718,  -814, -1071,   -30, -1071, -1070,   -89, -1071,
1187
     -96, -1071, -1071, -1071,    19,   -25,   578, -1071,   616, -1071,
1188
     236,   428,   917, -1071,   -77, -1071,    99,   -49, -1071,     4,
1189
     -69,  -989, -1071,  -114, -1071, -1071,   -22, -1071, -1071,   -34,
1190
    -258, -1071,   448,   -55, -1071,   -12,    54,   -35, -1071, -1071,
1191
   -1071, -1071, -1071,    75,   769, -1071, -1071,   688,  -160,  -261,
1192
     535, -1071, -1071,   586,   291, -1071, -1071, -1071,   418
1193
};
1194
1195
  /* YYDEFGOTO[NTERM-NUM].  */
1196
static const yytype_int16 yydefgoto[] =
1197
{
1198
      -1,     1,   305,   306,   336,   453,     2,   308,   765,   204,
1199
      92,   524,   525,    93,   135,   546,    96,    97,   520,   309,
1200
     766,   497,   206,   636,   767,   868,   207,   768,   769,   208,
1201
     194,   331,   547,   548,   758,   764,   998,  1042,   863,   507,
1202
     508,   600,    99,   973,  1017,   100,   559,   221,   101,   167,
1203
     168,   102,   103,   222,   104,   223,   105,   224,   684,   946,
1204
    1080,   679,   682,   777,   756,  1029,   918,   850,   761,   852,
1205
     106,   856,   857,   858,   859,   747,   107,   108,   109,   110,
1206
     824,   825,   826,   827,   828,   899,   788,   789,   790,   791,
1207
     792,   900,   793,   902,   903,   904,   967,   176,   469,   158,
1208
     454,   470,   471,   209,   210,   213,   214,   873,   947,   948,
1209
     779,  1048,  1084,  1085,  1086,  1087,  1088,  1089,  1186,   949,
1210
     950,   951,   829,   830,  1050,  1051,  1052,  1148,  1135,  1165,
1211
    1166,  1183,  1198,  1188,  1060,  1061,   195,   179,   180,   748,
1212
     479,   480,   170,   640,   111,   112,   113,   114,   115,   137,
1213
     601,  1064,  1103,   394,   980,  1069,  1070,   117,   401,   118,
1214
     172,   343,   177,   119,   120,   121,   122,   190,   123,   124,
1215
     125,   126,   127,   128,   129,   130,   174,   605,   613,   338,
1216
     339,   340,   341,   328,   329,   700,   131,   511,   512
1217
};
1218
1219
  /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM.  If
1220
     positive, shift that token.  If negative, reduce the rule whose
1221
     number is the opposite.  If YYTABLE_NINF, syntax error.  */
1222
static const yytype_int16 yytable[] =
1223
{
1224
      94,   171,   395,   351,   316,   316,   116,   215,   307,    95,
1225
     203,   312,   191,   871,   496,   905,   169,   196,   647,   493,
1226
     165,   865,   846,   418,   832,   869,   317,   317,  -224,   794,
1227
    1023,  -225,  1025,   166,  1066,  1058,  1071,  -227,  1195,    98,
1228
     686,   759,   -14,   882,   351,   353,   598,    31,   854,   522,
1229
     523,   991,  1013,   977,   529,   527,   673,   922,   923,   212,
1230
     675,   -84,     3,   808,  1156,   922,   923,   390,   610,   318,
1231
     318,   323,    31,    31,   690,   351,   182,   391,   323,   954,
1232
     342,  1040,   355,   160,   215,  1058,   353,   836,  -524,    49,
1233
      50,  1173,   874,   901,  1046,  1059,   175,  1047,   116,   599,
1234
     494,    95,   161,   136,   138,   139,   140,   141,   142,   143,
1235
     144,   145,   146,   147,   148,   149,   150,   151,   152,   153,
1236
     154,   155,   156,   159,   876,  1041,  1058,   175,   877,   323,
1237
     -84,   539,   595,   906,   925,   319,   319,   181,   905,   920,
1238
     316,   924,   993,  1154,  1003,   189,   189,   169,   460,   393,
1239
     393,   189,    91,   889,   178,   952,   320,   321,   534,   326,
1240
     327,   203,   317,   969,   970,  1011,   326,   327,  1171,  1172,
1241
     495,   393,   611,   347,   494,    49,    50,    91,    91,  1005,
1242
     323,   908,   322,   192,   955,   330,   847,   337,   175,   760,
1243
     183,  1182,  -224,  1001,  1015,  -225,   992,  1190,   184,  1192,
1244
    1196,  -227,   490,  1197,   795,   318,   656,   358,   359,  1201,
1245
     132,    28,    29,    30,    31,   901,  1063,   326,   327,   782,
1246
     185,   956,   957,   957,   960,   360,   186,   952,   216,  1180,
1247
    1072,   193,   323,   556,   345,  -523,   952,    57,    58,   614,
1248
    1018,  1019,  1019,  1022,   664,   163,   132,    28,    29,    30,
1249
     316,   323,   197,   324,   162,   323,   456,   539,  -186,   316,
1250
     457,   349,  -186,   458,   132,    28,    29,    30,   326,   327,
1251
      80,   319,   317,   323,   472,   539,   396,   473,   526,   171,
1252
     187,   317,   477,   481,   482,   952,   484,   485,   707,   734,
1253
     783,   737,   509,   952,   169,  -607,  -607,   165,   165,  -607,
1254
     740,   558,   188,   216,   642,   643,  1144,   198,   783,   667,
1255
     200,   166,   164,   784,   785,   318,   867,   510,   513,    91,
1256
     326,   327,   332,   333,   318,   597,   217,  -568,  -568,   545,
1257
    1184,   784,   785,  1185,   218,   116,   603,   607,   325,   326,
1258
     327,   463,   540,   326,   327,   952,   198,   199,   786,   200,
1259
     905,  -568,   198,   397,   952,   200,   171,   219,  1145,    49,
1260
      50,   326,   327,   220,  1067,   615,   786,   198,   199,   350,
1261
     200,  -566,  -566,   310,   896,   165,   132,    28,    29,    30,
1262
     201,   319,   202,  -566,   311,   717,   201,   215,   202,  -561,
1263
     319,  -572,  -569,   696,   561,  -566,   391,   171,   132,    28,
1264
      29,    30,   538,    80,   927,   474,   930,   475,   932,   337,
1265
     337,   551,   169,   528,   337,   697,   165,   939,   461,   698,
1266
     783,   462,  -606,  -606,   699,   537,  -606,    57,    58,   166,
1267
    1164,   490,   645,   491,   550,   163,   617,   500,  1164,   501,
1268
     476,   354,   162,   784,   785,  1164,   557,   680,   486,   132,
1269
      28,    29,    30,  1168,   351,  1164,   203,   921,   922,   923,
1270
     565,   566,   567,   569,   570,   571,   572,   573,   574,   575,
1271
     576,   577,   578,   579,   580,   581,   582,   583,   584,   585,
1272
     586,   587,   588,   589,   590,   591,   592,   593,   594,  1191,
1273
     596,   545,   502,   844,   503,   487,   353,   116,   505,   189,
1274
     506,   618,   619,   620,   621,   622,   623,   624,   625,   626,
1275
     627,   628,   629,   630,   631,   488,   784,   785,   632,   136,
1276
     138,   139,   140,   141,   142,   143,   489,   159,   988,   922,
1277
     923,   721,   356,   357,   132,    28,    29,    30,   332,   333,
1278
     316,  -564,  -564,   492,   888,   398,   399,  -565,  -565,   116,
1279
     633,   898,   706,  -564,    49,    50,  -563,  -563,  -280,  -565,
1280
     879,  -571,   317,   499,   837,  -564,   189,   839,  -563,   400,
1281
     616,  -565,   504,   181,   531,   532,  -570,   652,   316,   500,
1282
    -563,   666,   913,   515,   464,   465,   709,  -293,   659,   974,
1283
     763,   514,  -562,  -562,   897,   316,   466,  1093,   533,  1094,
1284
     317,   784,   785,   670,  -562,   318,   216,  1100,   467,  1101,
1285
    1100,   516,  1130,   781,   517,   535,  -562,   317,  1109,   541,
1286
     701,   702,   813,   814,   815,   816,   817,   818,   819,   820,
1287
     821,   822,   316,   535,   518,   541,   535,   541,   519,   132,
1288
      28,    29,    30,   318,   775,   861,   862,   780,   337,    57,
1289
      58,   710,   521,   337,   317,   526,    80,   163,  -572,   715,
1290
     318,   716,  -571,   165,   958,   959,   165,   718,   787,   549,
1291
     919,   319,  1020,  1021,   165,   344,   346,   553,   316,   554,
1292
     555,   560,   563,  1162,    94,   743,   562,   564,   746,   755,
1293
     116,   -43,   731,    95,   -70,   691,   463,   318,   -66,   -67,
1294
     317,   723,   -68,   -62,   -63,   725,   784,   785,   872,   319,
1295
     727,   -65,   -64,   965,   -73,   545,   -69,   634,   823,   635,
1296
     823,   116,   646,    98,   650,   883,   319,   653,   654,   662,
1297
     757,   665,   351,   733,   472,   212,   472,   663,   986,   672,
1298
     674,   898,   780,   318,   677,   472,   678,   509,   681,   744,
1299
     683,   685,   750,   752,   687,   688,  1000,   689,   387,   388,
1300
     389,   165,   390,   319,   693,   694,   695,   787,   704,   316,
1301
     705,   787,   391,   510,   724,   711,   714,   720,   726,   722,
1302
    -593,  -595,   728,   729,   806,   735,   730,   739,   762,   494,
1303
     797,   317,   741,    94,   770,   849,   772,   774,   776,   116,
1304
     778,   802,    95,   799,   173,   800,  -570,   801,   803,   319,
1305
     807,   804,   787,  1036,  1037,   805,   831,   840,   812,   841,
1306
     964,   843,   851,   853,   211,   864,   866,   874,   875,   823,
1307
     845,   870,    98,   880,   318,   545,   881,   545,   887,   981,
1308
     953,   116,   882,   116,   891,   892,   890,   935,   894,  1073,
1309
     842,   895,   907,   337,   351,  -594,  1075,  1076,   909,   165,
1310
     348,   860,   914,   934,   787,   787,   787,   787,   926,   929,
1311
     931,   945,  1004,   383,   384,   385,   386,   387,   388,   389,
1312
     755,   390,   787,   787,   917,   928,   385,   386,   387,   388,
1313
     389,   391,   390,   823,  1053,   933,   885,   937,   938,   999,
1314
     319,   940,   391,   879,   337,   961,   963,   962,   780,   966,
1315
     972,   975,   976,   978,   982,   979,   977,   545,   165,   983,
1316
     984,   757,   985,   116,   989,   994,   997,   165,  1136,  1002,
1317
      49,  1009,  1139,  1012,   787,  1141,  1014,   974,  1016,   481,
1318
     912,  1024,   337,  1049,  1045,    49,    50,    51,  1065,  1026,
1319
    1079,   787,   945,  1032,  1008,   350,    57,    58,  1033,   787,
1320
     787,   787,   787,   545,   163,  1074,  1078,  1091,  1096,   116,
1321
      64,    65,    66,    67,   -75,   -54,   -55,  1097,  1104,  1106,
1322
    1092,  1107,  1108,  1110,   545,  1113,  1115,  1083,  -523,    80,
1323
     116,  1118,  1119,  1095,   787,  1120,  1105,  1121,   545,  1122,
1324
    1125,   945,  1149,  1124,   116,  1134,  1077,  1189,  1151,   945,
1325
    1138,  1140,  1161,  1090,  1179,  1177,  1187,  1143,  1194,  1200,
1326
    1028,   990,   917,   798,  1083,   165,  1127,   352,   860,   205,
1327
     996,   936,   165,   498,   545,   545,   483,   668,   771,   915,
1328
     116,   116,   393,  1030,   995,   968,   893,  1007,   878,   971,
1329
    1090,  1175,   669,   455,  1147,  1006,  1150,  1117,  1068,  1152,
1330
    1153,   945,  1146,  1126,  1155,   671,  1169,  1174,   660,   165,
1331
     945,   545,   351,   545,   545,  1131,   911,   116,  1099,   116,
1332
     116,   749,   173,   459,  1160,   609,  1137,   780,   738,   712,
1333
     649,     0,   773,  1038,     0,     0,  1039,     0,  1176,     0,
1334
       0,     0,     0,     0,     0,     0,   165,     0,     0,     0,
1335
    1181,   132,    28,    29,    30,    31,   132,    28,    29,    30,
1336
      31,     0,     0,     0,   813,   814,   815,   816,   817,   818,
1337
     819,   820,   821,   822,   545,     0,     0,   545,     0,   545,
1338
     116,     0,  1068,   116,     0,   116,  1163,     0,     0,   823,
1339
       0,     0,     0,     0,  1163,   162,    57,    58,    80,   173,
1340
     162,    57,    58,     0,   163,   604,   608,   612,   612,   163,
1341
    -202,  1163,     0,     0,     0,     0,     0,     0,  1114,     0,
1342
       0,     0,     0,  -263,     0,   823,     0,   545,     0,    80,
1343
    1123,     0,     0,   116,    80,  1128,  1129,     0,   545,   393,
1344
     173,     0,  1132,  1133,   116,   382,   383,   384,   385,   386,
1345
     387,   388,   389,   164,   390,     0,     0,     0,   164,     0,
1346
      91,     0,     0,     0,   391,    91,     0,     0,     0,     0,
1347
       0,   641,     0,   612,   612,   644,   813,   814,   815,   816,
1348
     817,   818,   819,   820,   821,   822,     0,   420,  1167,   421,
1349
     422,   423,   424,   230,   231,   232,   425,   426,     0,    11,
1350
       0,     0,     0,     0,   941,     0,     0,     0,     0,     0,
1351
      80,   211,  -359,     0,   427,     0,     0,     0,     0,     0,
1352
     813,   814,   815,   816,   817,   818,   819,   820,   821,   822,
1353
     943,     0,     0,     0,  1199,  -130,    12,    13,     0,     0,
1354
       0,    14,   235,    15,    16,    17,    18,    19,    20,    21,
1355
      22,    23,     0,   428,    80,   237,   238,    25,    26,   429,
1356
      28,    29,    30,    31,     0,     0,    33,     0,     0,   430,
1357
     431,   432,   244,   245,   246,   247,   248,   249,   250,   251,
1358
     252,   253,   254,   255,   256,   257,   258,   259,   260,   433,
1359
     262,   263,   264,   434,   435,   267,   268,   269,   270,   271,
1360
     272,   273,   274,   436,   276,   277,   278,   279,   280,     0,
1361
       0,     0,   437,   282,   283,   438,   439,     0,   286,   287,
1362
     288,   289,   290,   291,   292,   440,   441,   295,   442,   443,
1363
     444,   445,   446,   447,   448,   449,   450,    80,    81,    82,
1364
       0,     0,     0,     0,     0,     0,     0,     0,     0,    84,
1365
       0,     0,     0,     0,     0,   451,     0,     0,     0,     0,
1366
       0,    86,   452,     0,     0,    88,    89,    90,    91,   420,
1367
       0,   421,   422,   423,   424,   230,   231,   232,   425,   426,
1368
       0,    11,     0,     0,     0,     0,   813,   814,   815,   816,
1369
     817,   818,   819,   820,   821,   822,   427,     0,     0,     0,
1370
     813,   814,   815,   816,   817,   818,   819,   820,   821,   822,
1371
       0,     0,     0,     0,     0,     0,     0,     0,    12,    13,
1372
      80,     0,     0,    14,   235,    15,    16,    17,    18,    19,
1373
      20,    21,    22,    23,    80,   428,     0,   237,   238,    25,
1374
      26,   429,    28,    29,    30,    31,     0,  1170,    33,     0,
1375
       0,   430,   431,   432,   244,   245,   246,   247,   248,   249,
1376
     250,   251,   252,   253,   254,   255,   256,   257,   258,   259,
1377
     260,   433,   262,   263,   264,   434,   435,   267,   268,   269,
1378
     270,   271,   272,   273,   274,   436,   276,   277,   278,   279,
1379
     280,     0,     0,     0,   437,   282,   283,   438,   439,     0,
1380
     286,   287,   288,   289,   290,   291,   292,   440,   441,   295,
1381
     442,   443,   444,   445,   446,   447,   448,   449,   450,    80,
1382
      81,    82,     0,     0,     0,     0,     0,     0,     0,     0,
1383
       0,    84,     0,     0,     0,     0,     0,   451,     0,     0,
1384
       0,     0,     0,    86,   468,     0,     0,    88,    89,    90,
1385
      91,   420,     0,   421,   422,   423,   424,   230,   231,   232,
1386
     425,   426,     0,    11,     0,     0,     0,     0,   813,   814,
1387
     815,   816,   817,   818,   819,   820,   821,   822,   427,  -608,
1388
    -608,  -608,  -608,   381,   382,   383,   384,   385,   386,   387,
1389
     388,   389,     0,   390,     0,     0,     0,     0,     0,     0,
1390
      12,    13,    80,   391,     0,    14,   235,    15,    16,    17,
1391
      18,    19,    20,    21,    22,    23,     0,   428,     0,   237,
1392
     238,    25,    26,   429,    28,    29,    30,    31,     0,  1178,
1393
      33,     0,     0,   430,   431,   432,   244,   245,   246,   247,
1394
     248,   249,   250,   251,   252,   253,   254,   255,   256,   257,
1395
     258,   259,   260,   433,   262,   263,   264,   434,   435,   267,
1396
     268,   269,   270,   271,   272,   273,   274,   436,   276,   277,
1397
     278,   279,   280,     0,     0,     0,   437,   282,   283,   438,
1398
     439,     0,   286,   287,   288,   289,   290,   291,   292,   440,
1399
     441,   295,   442,   443,   444,   445,   446,   447,   448,   449,
1400
     450,    80,    81,    82,     0,     0,     0,     0,     0,     0,
1401
       0,     0,     0,    84,     0,     0,     0,     0,     0,   451,
1402
       0,     0,     0,     0,     0,    86,   736,     0,     0,    88,
1403
      89,    90,    91,   420,     0,   421,   422,   423,   424,   230,
1404
     231,   232,   425,   426,     0,    11,   813,   814,   815,   816,
1405
     817,   818,   819,   820,   821,   822,     0,     0,     0,     0,
1406
     427,     0,     0,     0,   402,   403,   404,   405,   406,   407,
1407
     408,   409,   410,   411,   412,   413,   414,   415,     0,     0,
1408
       0,     0,    12,    13,     0,     0,     0,    14,   235,    15,
1409
      16,    17,    18,    19,    20,    21,    22,    23,     0,   428,
1410
       0,   237,   238,    25,    26,   429,    28,    29,    30,    31,
1411
       0,     0,    33,     0,     0,   430,   431,   432,   244,   245,
1412
     246,   247,   248,   249,   250,   251,   252,   253,   254,   255,
1413
     256,   257,   258,   259,   260,   433,   262,   263,   264,   434,
1414
     435,   267,   268,   269,   270,   271,   272,   273,   274,   436,
1415
     276,   277,   278,   279,   280,     0,     0,     0,   437,   282,
1416
     283,   438,   439,     0,   286,   287,   288,   289,   290,   291,
1417
     292,   440,   441,   295,   442,   443,   444,   445,   446,   447,
1418
     448,   449,   450,    80,    81,    82,     0,     4,     0,     5,
1419
       6,     7,     8,     0,     0,    84,     9,    10,     0,    11,
1420
       0,   451,   416,   417,     0,  -562,  -562,    86,  -358,     0,
1421
    -360,    88,    89,    90,    91,     0,     0,  -562,   813,   814,
1422
     815,   816,   817,   818,   819,   820,   821,   822,     0,  -562,
1423
       0,     0,     0,     0,     0,     0,    12,    13,     0,     0,
1424
       0,    14,     0,    15,    16,    17,    18,    19,    20,    21,
1425
      22,    23,     0,    24,     0,     0,     0,    25,    26,    27,
1426
      28,    29,    30,    31,    32,     0,    33,     0,     0,    34,
1427
      35,    36,    37,     0,    38,    39,    40,     0,    41,     0,
1428
      42,     0,    43,     0,     0,    44,     0,     0,     0,    45,
1429
      46,    47,    48,    49,    50,    51,    52,    53,     0,     0,
1430
      54,     0,    55,    56,    57,    58,     0,     0,     0,     0,
1431
       0,     0,    59,     0,    60,    61,    62,    63,    64,    65,
1432
      66,    67,     0,     0,    68,    69,    70,     0,    71,    72,
1433
      73,    74,    75,    76,    77,    78,    79,    80,    81,    82,
1434
      83,     4,     0,     5,     6,     7,     8,     0,     0,    84,
1435
       9,    10,     0,    11,     0,     0,     0,     0,     0,     0,
1436
      85,    86,     0,    87,   796,    88,    89,    90,    91,     0,
1437
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1438
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1439
      12,    13,     0,     0,     0,    14,     0,    15,    16,    17,
1440
      18,    19,    20,    21,    22,    23,     0,    24,     0,     0,
1441
       0,    25,    26,    27,    28,    29,    30,    31,    32,     0,
1442
      33,     0,     0,    34,    35,    36,    37,     0,    38,    39,
1443
      40,     0,    41,     0,    42,     0,    43,     0,     0,    44,
1444
       0,     0,     0,    45,    46,    47,    48,    49,    50,    51,
1445
      52,    53,     0,     0,    54,     0,    55,    56,    57,    58,
1446
       0,     0,     0,     0,     0,     0,    59,     0,    60,    61,
1447
      62,    63,    64,    65,    66,    67,     0,     0,    68,    69,
1448
      70,     0,    71,    72,    73,    74,    75,    76,    77,    78,
1449
      79,    80,    81,    82,    83,     4,     0,     5,     6,     7,
1450
       8,     0,     0,    84,     9,    10,     0,    11,     0,     0,
1451
       0,     0,     0,     0,    85,    86,     0,    87,   884,    88,
1452
      89,    90,    91,     0,     0,     0,     0,     0,     0,     0,
1453
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1454
       0,     0,     0,     0,    12,    13,     0,     0,     0,    14,
1455
       0,    15,    16,    17,    18,    19,    20,    21,    22,    23,
1456
       0,    24,     0,     0,     0,    25,    26,    27,    28,    29,
1457
      30,    31,    32,     0,    33,     0,     0,    34,    35,    36,
1458
      37,     0,    38,    39,    40,     0,    41,     0,    42,     0,
1459
      43,     0,     0,    44,     0,     0,     0,    45,    46,    47,
1460
      48,    49,    50,    51,    52,    53,     0,     0,    54,     0,
1461
      55,    56,    57,    58,     0,     0,     0,     0,     0,     0,
1462
      59,     0,    60,    61,    62,    63,    64,    65,    66,    67,
1463
       0,     0,    68,    69,    70,     0,    71,    72,    73,    74,
1464
      75,    76,    77,    78,    79,    80,    81,    82,    83,     4,
1465
       0,     5,     6,     7,     8,     0,     0,    84,     9,    10,
1466
       0,    11,     0,     0,   941,     0,     0,     0,    85,    86,
1467
       0,    87,  -359,    88,    89,    90,    91,   942,     0,     0,
1468
     813,   814,   815,   816,   817,   818,   819,   820,   821,   822,
1469
     943,     0,     0,     0,     0,     0,     0,     0,    12,    13,
1470
       0,     0,     0,    14,     0,    15,    16,    17,    18,    19,
1471
      20,    21,    22,    23,    80,    24,     0,     0,     0,    25,
1472
      26,    27,    28,    29,    30,    31,    32,     0,    33,     0,
1473
       0,    34,    35,    36,    37,     0,    38,    39,    40,     0,
1474
      41,   944,    42,     0,    43,     0,     0,    44,     0,     0,
1475
       0,    45,    46,    47,    48,    49,    50,     0,    52,    53,
1476
       0,     0,     0,     0,    55,    56,    57,    58,     0,     0,
1477
       0,     0,     0,     0,    59,     0,    60,    61,    62,   543,
1478
      64,    65,    66,    67,     0,     0,     0,    69,    70,     0,
1479
      71,    72,    73,    74,    75,    76,    77,    78,    79,    80,
1480
      81,    82,    83,     4,     0,     5,     6,     7,     8,     0,
1481
       0,    84,     9,    10,     0,    11,     0,     0,     0,     0,
1482
       0,     0,    85,    86,     0,    87,   544,    88,    89,    90,
1483
      91,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1484
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1485
       0,     0,    12,    13,     0,     0,     0,    14,     0,    15,
1486
      16,    17,    18,    19,    20,    21,    22,    23,     0,    24,
1487
       0,     0,     0,    25,    26,    27,    28,    29,    30,    31,
1488
      32,     0,    33,     0,     0,    34,    35,    36,    37,     0,
1489
      38,    39,    40,     0,    41,     0,    42,     0,    43,     0,
1490
       0,    44,     0,     0,     0,    45,    46,    47,    48,    49,
1491
      50,     0,    52,    53,     0,     0,     0,     0,    55,    56,
1492
      57,    58,     0,     0,     0,     0,     0,     0,    59,     0,
1493
      60,    61,    62,   543,    64,    65,    66,    67,     0,     0,
1494
       0,    69,    70,     0,    71,    72,    73,    74,    75,    76,
1495
      77,    78,    79,    80,    81,    82,    83,     4,     0,     5,
1496
       6,     7,     8,     0,     0,    84,     9,    10,     0,    11,
1497
       0,     0,     0,     0,     0,     0,    85,    86,     0,    87,
1498
     661,    88,    89,    90,    91,     0,     0,     0,     0,     0,
1499
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1500
       0,     0,     0,     0,     0,     0,    12,    13,     0,     0,
1501
       0,    14,     0,    15,    16,    17,    18,    19,    20,    21,
1502
      22,    23,     0,    24,     0,     0,     0,    25,    26,    27,
1503
      28,    29,    30,    31,    32,     0,    33,     0,     0,    34,
1504
      35,    36,    37,   811,    38,    39,    40,     0,    41,     0,
1505
      42,     0,    43,     0,     0,    44,     0,     0,     0,    45,
1506
      46,    47,    48,    49,    50,     0,    52,    53,     0,     0,
1507
       0,     0,    55,    56,    57,    58,     0,     0,     0,     0,
1508
       0,     0,    59,     0,    60,    61,    62,   543,    64,    65,
1509
      66,    67,     0,     0,     0,    69,    70,     0,    71,    72,
1510
      73,    74,    75,    76,    77,    78,    79,    80,    81,    82,
1511
      83,     4,     0,     5,     6,     7,     8,     0,     0,    84,
1512
       9,    10,     0,    11,     0,     0,   941,     0,     0,     0,
1513
      85,    86,     0,    87,  -359,    88,    89,    90,    91,   942,
1514
       0,     0,   813,   814,   815,   816,   817,   818,   819,   820,
1515
     821,   822,   943,     0,     0,     0,     0,     0,     0,     0,
1516
      12,    13,     0,     0,     0,    14,     0,    15,    16,    17,
1517
      18,    19,    20,    21,    22,    23,    80,    24,     0,     0,
1518
       0,    25,    26,    27,    28,    29,    30,    31,    32,     0,
1519
      33,     0,     0,    34,    35,    36,    37,     0,    38,    39,
1520
      40,   910,    41,  1010,    42,     0,    43,     0,     0,    44,
1521
       0,     0,     0,    45,    46,    47,    48,    49,    50,     0,
1522
      52,    53,     0,     0,     0,     0,    55,    56,    57,    58,
1523
       0,     0,     0,     0,     0,     0,    59,     0,    60,    61,
1524
      62,   543,    64,    65,    66,    67,     0,     0,     0,    69,
1525
      70,     0,    71,    72,    73,    74,    75,    76,    77,    78,
1526
      79,    80,    81,    82,    83,     4,     0,     5,     6,     7,
1527
       8,     0,     0,    84,     9,    10,     0,    11,     0,     0,
1528
     941,     0,     0,     0,    85,    86,     0,    87,  -359,    88,
1529
      89,    90,    91,   942,     0,     0,   813,   814,   815,   816,
1530
     817,   818,   819,   820,   821,   822,   943,     0,     0,     0,
1531
       0,     0,     0,     0,    12,    13,     0,     0,     0,    14,
1532
       0,    15,    16,    17,    18,    19,    20,    21,    22,    23,
1533
      80,    24,     0,     0,     0,    25,    26,    27,    28,    29,
1534
      30,    31,    32,     0,    33,     0,     0,    34,    35,    36,
1535
      37,     0,    38,    39,    40,     0,    41,  1044,    42,     0,
1536
      43,   987,     0,    44,     0,     0,     0,    45,    46,    47,
1537
      48,    49,    50,     0,    52,    53,     0,     0,     0,     0,
1538
      55,    56,    57,    58,     0,     0,     0,     0,     0,     0,
1539
      59,     0,    60,    61,    62,   543,    64,    65,    66,    67,
1540
       0,     0,     0,    69,    70,     0,    71,    72,    73,    74,
1541
      75,    76,    77,    78,    79,    80,    81,    82,    83,     4,
1542
       0,     5,     6,     7,     8,     0,     0,    84,     9,    10,
1543
       0,    11,     0,     0,   941,     0,     0,     0,    85,    86,
1544
       0,    87,  -359,    88,    89,    90,    91,   942,     0,     0,
1545
     813,   814,   815,   816,   817,   818,   819,   820,   821,   822,
1546
     943,     0,     0,     0,     0,     0,     0,     0,    12,    13,
1547
       0,     0,     0,    14,     0,    15,    16,    17,    18,    19,
1548
      20,    21,    22,    23,    80,    24,     0,     0,     0,    25,
1549
      26,    27,    28,    29,    30,    31,    32,     0,    33,     0,
1550
       0,    34,    35,    36,    37,     0,    38,    39,    40,     0,
1551
      41,  1062,    42,  1031,    43,     0,     0,    44,     0,     0,
1552
       0,    45,    46,    47,    48,    49,    50,     0,    52,    53,
1553
       0,     0,     0,     0,    55,    56,    57,    58,     0,     0,
1554
       0,     0,     0,     0,    59,     0,    60,    61,    62,   543,
1555
      64,    65,    66,    67,     0,     0,     0,    69,    70,     0,
1556
      71,    72,    73,    74,    75,    76,    77,    78,    79,    80,
1557
      81,    82,    83,     4,     0,     5,     6,     7,     8,     0,
1558
       0,    84,     9,    10,     0,    11,     0,     0,   941,     0,
1559
       0,     0,    85,    86,     0,    87,  -359,    88,    89,    90,
1560
      91,   942,     0,     0,   813,   814,   815,   816,   817,   818,
1561
     819,   820,   821,   822,   943,     0,     0,     0,     0,     0,
1562
       0,     0,    12,    13,     0,     0,     0,    14,     0,    15,
1563
      16,    17,    18,    19,    20,    21,    22,    23,    80,    24,
1564
       0,     0,     0,    25,    26,    27,    28,    29,    30,    31,
1565
      32,     0,    33,     0,     0,    34,    35,    36,    37,     0,
1566
      38,    39,    40,     0,    41,  1102,    42,     0,    43,     0,
1567
       0,    44,     0,     0,     0,    45,    46,    47,    48,    49,
1568
      50,     0,    52,    53,     0,     0,     0,     0,    55,    56,
1569
      57,    58,     0,     0,     0,     0,     0,     0,    59,     0,
1570
      60,    61,    62,   543,    64,    65,    66,    67,     0,     0,
1571
       0,    69,    70,     0,    71,    72,    73,    74,    75,    76,
1572
      77,    78,    79,    80,    81,    82,    83,     4,     0,     5,
1573
       6,     7,     8,     0,     0,    84,     9,    10,     0,    11,
1574
       0,     0,     0,     0,     0,     0,    85,    86,     0,    87,
1575
    1043,    88,    89,    90,    91,     0,     0,     0,     0,     0,
1576
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1577
       0,     0,     0,     0,     0,     0,    12,    13,     0,     0,
1578
       0,    14,     0,    15,    16,    17,    18,    19,    20,    21,
1579
      22,    23,     0,    24,     0,     0,     0,    25,    26,    27,
1580
      28,    29,    30,    31,    32,     0,    33,     0,     0,    34,
1581
      35,    36,    37,     0,    38,    39,    40,     0,    41,  1112,
1582
      42,     0,    43,     0,     0,    44,     0,     0,     0,    45,
1583
      46,    47,    48,    49,    50,     0,    52,    53,     0,     0,
1584
       0,     0,    55,    56,    57,    58,     0,     0,     0,     0,
1585
       0,     0,    59,     0,    60,    61,    62,   543,    64,    65,
1586
      66,    67,     0,     0,     0,    69,    70,     0,    71,    72,
1587
      73,    74,    75,    76,    77,    78,    79,    80,    81,    82,
1588
      83,     4,     0,     5,     6,     7,     8,     0,     0,    84,
1589
       9,    10,     0,    11,     0,     0,   941,     0,     0,     0,
1590
      85,    86,     0,    87,  -359,    88,    89,    90,    91,   942,
1591
       0,     0,   813,   814,   815,   816,   817,   818,   819,   820,
1592
     821,   822,   943,     0,     0,     0,     0,     0,     0,     0,
1593
      12,    13,     0,     0,     0,    14,     0,    15,    16,    17,
1594
      18,    19,    20,    21,    22,    23,    80,    24,     0,     0,
1595
       0,    25,    26,    27,    28,    29,    30,    31,    32,     0,
1596
      33,     0,     0,    34,    35,    36,    37,     0,    38,    39,
1597
      40,     0,    41,  1111,    42,     0,    43,     0,     0,    44,
1598
       0,     0,     0,    45,    46,    47,    48,    49,    50,     0,
1599
      52,    53,     0,     0,     0,     0,    55,    56,    57,    58,
1600
       0,     0,     0,     0,     0,     0,    59,     0,    60,    61,
1601
      62,   543,    64,    65,    66,    67,     0,     0,     0,    69,
1602
      70,     0,    71,    72,    73,    74,    75,    76,    77,    78,
1603
      79,    80,    81,    82,    83,     4,     0,     5,     6,     7,
1604
       8,     0,     0,    84,     9,    10,     0,    11,     0,     0,
1605
       0,     0,     0,     0,    85,    86,     0,    87,  1157,    88,
1606
      89,    90,    91,     0,     0,     0,     0,     0,     0,     0,
1607
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1608
       0,     0,     0,     0,    12,    13,     0,     0,     0,    14,
1609
       0,    15,    16,    17,    18,    19,    20,    21,    22,    23,
1610
       0,    24,     0,     0,     0,    25,    26,    27,    28,    29,
1611
      30,    31,    32,     0,    33,     0,     0,    34,    35,    36,
1612
      37,     0,    38,    39,    40,     0,    41,     0,    42,     0,
1613
      43,     0,     0,    44,     0,     0,     0,    45,    46,    47,
1614
      48,    49,    50,     0,    52,    53,     0,     0,     0,     0,
1615
      55,    56,    57,    58,     0,     0,     0,     0,     0,     0,
1616
      59,     0,    60,    61,    62,   543,    64,    65,    66,    67,
1617
       0,     0,     0,    69,    70,     0,    71,    72,    73,    74,
1618
      75,    76,    77,    78,    79,    80,    81,    82,    83,     4,
1619
       0,     5,     6,     7,     8,     0,     0,    84,     9,    10,
1620
       0,    11,     0,     0,     0,     0,     0,     0,    85,    86,
1621
       0,    87,  1158,    88,    89,    90,    91,     0,     0,     0,
1622
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1623
       0,     0,     0,     0,     0,     0,     0,     0,    12,    13,
1624
       0,     0,     0,    14,     0,    15,    16,    17,    18,    19,
1625
      20,    21,    22,    23,     0,    24,     0,     0,     0,    25,
1626
      26,    27,    28,    29,    30,    31,    32,     0,    33,     0,
1627
       0,    34,    35,    36,    37,     0,    38,    39,    40,     0,
1628
      41,     0,    42,     0,    43,     0,     0,    44,     0,     0,
1629
       0,    45,    46,    47,    48,    49,    50,     0,    52,    53,
1630
       0,     0,     0,     0,    55,    56,    57,    58,     0,     0,
1631
       0,     0,     0,     0,    59,     0,    60,    61,    62,   543,
1632
      64,    65,    66,    67,     0,     0,     0,    69,    70,     0,
1633
      71,    72,    73,    74,    75,    76,    77,    78,    79,    80,
1634
      81,    82,    83,     4,     0,     5,     6,     7,     8,     0,
1635
       0,    84,     9,    10,     0,    11,     0,     0,     0,     0,
1636
       0,     0,    85,    86,     0,    87,  1159,    88,    89,    90,
1637
      91,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1638
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1639
       0,     0,    12,    13,     0,     0,     0,    14,     0,    15,
1640
      16,    17,    18,    19,    20,    21,    22,    23,     0,    24,
1641
       0,     0,     0,    25,    26,    27,    28,    29,    30,    31,
1642
      32,     0,    33,     0,     0,    34,    35,    36,    37,     0,
1643
      38,    39,    40,     0,    41,     0,    42,     0,    43,     0,
1644
       0,    44,     0,     0,     0,    45,    46,    47,    48,    49,
1645
      50,     0,    52,    53,     0,     0,     0,     0,    55,    56,
1646
      57,    58,     0,     0,     0,     0,     0,     0,    59,     0,
1647
      60,    61,    62,   543,    64,    65,    66,    67,     0,     0,
1648
       0,    69,    70,     0,    71,    72,    73,    74,    75,    76,
1649
      77,    78,    79,    80,    81,    82,    83,     4,     0,     5,
1650
       6,     7,     8,     0,     0,    84,     9,    10,     0,    11,
1651
       0,     0,     0,     0,     0,     0,    85,    86,     0,    87,
1652
    1193,    88,    89,    90,    91,     0,     0,     0,     0,     0,
1653
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1654
       0,     0,     0,     0,     0,     0,    12,    13,     0,     0,
1655
       0,    14,     0,    15,    16,    17,    18,    19,    20,    21,
1656
      22,    23,     0,    24,     0,     0,     0,    25,    26,    27,
1657
      28,    29,    30,    31,    32,     0,    33,     0,     0,    34,
1658
      35,    36,    37,     0,    38,    39,    40,     0,    41,     0,
1659
      42,     0,    43,     0,     0,    44,     0,     0,     0,    45,
1660
      46,    47,    48,    49,    50,     0,    52,    53,     0,     0,
1661
       0,     0,    55,    56,    57,    58,     0,     0,     0,     0,
1662
       0,     0,    59,     0,    60,    61,    62,   543,    64,    65,
1663
      66,    67,     0,     0,     0,    69,    70,     0,    71,    72,
1664
      73,    74,    75,    76,    77,    78,    79,    80,    81,    82,
1665
      83,     4,     0,     5,     6,     7,     8,     0,     0,    84,
1666
       9,    10,     0,    11,     0,     0,     0,     0,     0,     0,
1667
      85,    86,     0,    87,  1203,    88,    89,    90,    91,     0,
1668
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1669
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1670
      12,    13,     0,     0,     0,    14,     0,    15,    16,    17,
1671
      18,    19,    20,    21,    22,    23,     0,    24,     0,     0,
1672
       0,    25,    26,    27,    28,    29,    30,    31,    32,     0,
1673
      33,     0,     0,    34,    35,    36,    37,     0,    38,    39,
1674
      40,     0,    41,     0,    42,     0,    43,     0,     0,    44,
1675
       0,     0,     0,    45,    46,    47,    48,    49,    50,     0,
1676
      52,    53,     0,     0,     0,     0,    55,    56,    57,    58,
1677
       0,     0,     0,     0,     0,     0,    59,     0,    60,    61,
1678
      62,   543,    64,    65,    66,    67,     0,     0,     0,    69,
1679
      70,     0,    71,    72,    73,    74,    75,    76,    77,    78,
1680
      79,    80,    81,    82,    83,     0,     0,     0,     0,     0,
1681
       0,     0,   225,    84,   226,   227,   228,   229,   230,   231,
1682
     232,   233,   234,     0,    85,    86,     0,    87,     0,    88,
1683
      89,    90,    91,    49,    50,     0,     0,     0,     0,     0,
1684
       0,     0,     0,   350,    57,    58,     0,     0,     0,     0,
1685
       0,     0,   163,     0,     0,     0,     0,     0,    64,    65,
1686
      66,    67,     0,     0,     0,     0,     0,   235,     0,     0,
1687
       0,     0,     0,     0,     0,     0,     0,    80,   236,     0,
1688
     237,   238,     0,     0,   239,     0,     0,     0,    31,     0,
1689
       0,     0,     0,     0,   241,   242,   243,   244,   245,   246,
1690
     247,   248,   249,   250,   251,   252,   253,   254,   255,   256,
1691
     257,   258,   259,   260,   261,   262,   263,   264,   265,   266,
1692
     267,   268,   269,   270,   271,   272,   273,   274,   275,   276,
1693
     277,   278,   279,   280,     0,     0,     0,   281,   282,   283,
1694
     284,   285,     0,   286,   287,   288,   289,   290,   291,   292,
1695
     293,   294,   295,   296,   297,   298,   299,   300,   301,   302,
1696
     303,   304,   225,     0,   226,   227,   228,   229,   230,   231,
1697
     232,   233,   234,     0,     0,     0,     0,     0,     0,     0,
1698
       0,     0,     0,     0,     0,     0,     0,     0,   602,     0,
1699
       0,     0,     0,    91,   369,   370,   371,   372,   373,   374,
1700
     375,   376,   377,   378,   379,   380,   381,   382,   383,   384,
1701
     385,   386,   387,   388,   389,     0,   390,   235,     0,     0,
1702
       0,     0,     0,     0,     0,     0,   391,     0,   236,     0,
1703
     237,   238,     0,     0,   239,     0,     0,     0,    31,     0,
1704
       0,     0,     0,     0,   241,   242,   243,   244,   245,   246,
1705
     247,   248,   249,   250,   251,   252,   253,   254,   255,   256,
1706
     257,   258,   259,   260,   261,   262,   263,   264,   265,   266,
1707
     267,   268,   269,   270,   271,   272,   273,   274,   275,   276,
1708
     277,   278,   279,   280,     0,     0,     0,   281,   282,   283,
1709
     284,   285,     0,   286,   287,   288,   289,   290,   291,   292,
1710
     293,   294,   295,   296,   297,   298,   299,   300,   301,   302,
1711
     303,   304,     4,     0,     5,     6,     7,     8,     0,     0,
1712
       0,     9,    10,     0,    11,     0,     0,     0,     0,     0,
1713
       0,     0,     0,     0,     0,     0,     0,     0,   606,     0,
1714
     742,     0,     0,    91,     0,     0,     0,     0,     0,     0,
1715
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1716
       0,    12,    13,     0,     0,     0,    14,     0,    15,    16,
1717
      17,    18,    19,    20,    21,    22,    23,     0,    24,     0,
1718
       0,     0,    25,    26,    27,    28,    29,    30,    31,    32,
1719
       0,    33,     0,     0,    34,    35,    36,    37,     0,    38,
1720
      39,    40,     0,    41,     0,    42,     0,    43,     0,     0,
1721
      44,     0,     0,     0,    45,    46,    47,    48,    49,    50,
1722
       0,    52,    53,     0,     0,     0,     0,    55,    56,     0,
1723
       0,     0,     0,     0,     0,     0,     0,   134,     0,    60,
1724
      61,    62,     0,     0,     0,     0,     0,     0,     0,     0,
1725
      69,    70,     0,    71,    72,    73,    74,    75,    76,    77,
1726
      78,    79,    80,    81,    82,    83,     4,     0,     5,     6,
1727
       7,     8,     0,     0,    84,     9,    10,     0,    11,     0,
1728
       0,     0,     0,     0,     0,    85,    86,     0,    87,     0,
1729
      88,    89,    90,    91,   745,     0,     0,     0,     0,     0,
1730
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1731
       0,     0,     0,     0,     0,    12,    13,     0,     0,     0,
1732
      14,     0,    15,    16,    17,    18,    19,    20,    21,    22,
1733
      23,     0,    24,     0,     0,     0,    25,    26,    27,    28,
1734
      29,    30,    31,    32,     0,    33,     0,     0,    34,    35,
1735
      36,    37,     0,    38,    39,    40,     0,    41,     0,    42,
1736
       0,    43,     0,     0,    44,     0,     0,     0,    45,    46,
1737
      47,    48,    49,    50,     0,    52,    53,     0,     0,     0,
1738
       0,    55,    56,     0,     0,     0,     0,     0,     0,     0,
1739
       0,   134,     0,    60,    61,    62,     0,     0,     0,     0,
1740
       0,     0,     0,     0,    69,    70,     0,    71,    72,    73,
1741
      74,    75,    76,    77,    78,    79,    80,    81,    82,    83,
1742
       4,     0,     5,     6,     7,     8,     0,     0,    84,     9,
1743
      10,     0,    11,     0,     0,     0,     0,     0,     0,    85,
1744
      86,     0,    87,     0,    88,    89,    90,    91,   848,     0,
1745
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1746
       0,     0,     0,     0,     0,     0,     0,     0,     0,    12,
1747
      13,     0,     0,     0,    14,     0,    15,    16,    17,    18,
1748
      19,    20,    21,    22,    23,     0,    24,     0,     0,     0,
1749
      25,    26,    27,    28,    29,    30,    31,    32,     0,    33,
1750
       0,     0,    34,    35,    36,    37,     0,    38,    39,    40,
1751
       0,    41,     0,    42,     0,    43,     0,     0,    44,     0,
1752
       0,     0,    45,    46,    47,    48,    49,    50,     0,    52,
1753
      53,     0,     0,     0,     0,    55,    56,     0,     0,     0,
1754
       0,     0,     0,     0,     0,   134,     0,    60,    61,    62,
1755
       0,     0,     0,     0,     0,     0,     0,     0,    69,    70,
1756
       0,    71,    72,    73,    74,    75,    76,    77,    78,    79,
1757
      80,    81,    82,    83,     4,     0,     5,     6,     7,     8,
1758
       0,     0,    84,     9,    10,     0,    11,     0,     0,     0,
1759
       0,     0,     0,    85,    86,     0,    87,     0,    88,    89,
1760
      90,    91,   916,     0,     0,     0,     0,     0,     0,     0,
1761
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1762
       0,     0,     0,    12,    13,     0,     0,     0,    14,     0,
1763
      15,    16,    17,    18,    19,    20,    21,    22,    23,     0,
1764
      24,     0,     0,     0,    25,    26,    27,    28,    29,    30,
1765
      31,    32,     0,    33,     0,     0,    34,    35,    36,    37,
1766
       0,    38,    39,    40,     0,    41,     0,    42,     0,    43,
1767
       0,     0,    44,     0,     0,     0,    45,    46,    47,    48,
1768
      49,    50,     0,    52,    53,     0,     0,     0,     0,    55,
1769
      56,     0,     0,     0,     0,     0,     0,     0,     0,   134,
1770
       0,    60,    61,    62,     0,     0,     0,     0,     0,     0,
1771
       0,     0,    69,    70,     0,    71,    72,    73,    74,    75,
1772
      76,    77,    78,    79,    80,    81,    82,    83,     4,     0,
1773
       5,     6,     7,     8,     0,     0,    84,     9,    10,     0,
1774
      11,     0,     0,     0,     0,     0,     0,    85,    86,     0,
1775
      87,     0,    88,    89,    90,    91,  1027,     0,     0,     0,
1776
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1777
       0,     0,     0,     0,     0,     0,     0,    12,    13,     0,
1778
       0,     0,    14,     0,    15,    16,    17,    18,    19,    20,
1779
      21,    22,    23,     0,    24,     0,     0,     0,    25,    26,
1780
      27,    28,    29,    30,    31,    32,     0,    33,     0,     0,
1781
      34,    35,    36,    37,     0,    38,    39,    40,     0,    41,
1782
       0,    42,     0,    43,     0,     0,    44,     0,     0,     0,
1783
      45,    46,    47,    48,    49,    50,     0,    52,    53,     0,
1784
       0,     0,     0,    55,    56,     0,     0,     0,     0,     0,
1785
       0,     0,     0,   134,     0,    60,    61,    62,     0,     0,
1786
       0,     0,     0,     0,     0,     0,    69,    70,     0,    71,
1787
      72,    73,    74,    75,    76,    77,    78,    79,    80,    81,
1788
      82,    83,     4,     0,     5,     6,     7,     8,     0,     0,
1789
      84,     9,    10,     0,    11,     0,     0,     0,     0,     0,
1790
       0,    85,    86,     0,    87,     0,    88,    89,    90,    91,
1791
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1792
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1793
       0,    12,    13,     0,     0,     0,    14,     0,    15,    16,
1794
      17,    18,    19,    20,    21,    22,    23,     0,    24,     0,
1795
       0,     0,    25,    26,    27,    28,    29,    30,    31,    32,
1796
       0,    33,     0,     0,    34,    35,    36,    37,     0,    38,
1797
      39,    40,     0,    41,     0,    42,     0,    43,     0,     0,
1798
      44,     0,     0,     0,    45,    46,    47,    48,    49,    50,
1799
       0,    52,    53,     0,     0,     0,     0,    55,    56,     0,
1800
       0,     0,     0,     0,     0,     0,     0,   134,     0,    60,
1801
      61,    62,     0,     0,     0,     0,     0,     0,     0,     0,
1802
      69,    70,     0,    71,    72,    73,    74,    75,    76,    77,
1803
      78,    79,    80,    81,    82,    83,     4,     0,     5,     6,
1804
       7,     8,     0,     0,    84,     9,    10,     0,    11,     0,
1805
       0,     0,     0,     0,     0,    85,    86,     0,    87,     0,
1806
      88,    89,    90,    91,     0,     0,     0,     0,     0,     0,
1807
     332,   333,     0,     0,     0,     0,     0,     0,     0,     0,
1808
       0,     0,     0,     0,     0,    12,    13,     0,     0,     0,
1809
      14,     0,    15,    16,    17,    18,    19,    20,    21,    22,
1810
      23,     0,    24,     0,     0,     0,    25,    26,   132,    28,
1811
      29,    30,    31,     0,     0,    33,     0,     0,    34,    35,
1812
      36,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1813
       0,     0,     0,     0,     0,     0,     0,     0,    45,     0,
1814
       0,     0,    49,    50,     0,     0,     0,     0,     0,     0,
1815
       0,     0,   133,     0,     0,     0,     0,     0,     0,     0,
1816
       0,   134,     0,     0,    61,    62,     0,     0,     0,     0,
1817
       0,     0,     0,     0,   334,    70,     0,    71,    72,    73,
1818
      74,    75,    76,    77,    78,    79,    80,    81,    82,     0,
1819
       4,     0,     5,     6,     7,     8,     0,     0,    84,     9,
1820
      10,     0,    11,     0,   335,     0,     0,     0,     0,     0,
1821
      86,     0,     0,     0,    88,    89,    90,    91,     0,     0,
1822
       0,     0,     0,     0,   332,   333,     0,     0,     0,     0,
1823
       0,     0,     0,     0,     0,     0,     0,     0,     0,    12,
1824
      13,     0,     0,     0,    14,     0,    15,    16,    17,    18,
1825
      19,    20,    21,    22,    23,     0,    24,     0,     0,     0,
1826
      25,    26,   132,    28,    29,    30,    31,     0,     0,    33,
1827
       0,     0,    34,    35,    36,     0,     0,     0,     0,     0,
1828
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1829
       0,     0,    45,     0,     0,     0,    49,    50,     0,     0,
1830
       0,     0,     0,     0,     0,     0,   133,     0,     0,     0,
1831
       0,     0,     0,     0,     0,   134,     0,     0,    61,    62,
1832
       0,     0,     0,     0,     0,     0,     0,     0,    69,    70,
1833
       0,    71,    72,    73,    74,    75,    76,    77,    78,    79,
1834
      80,    81,    82,     0,     4,     0,     5,     6,     7,     8,
1835
       0,     0,    84,     9,    10,     0,    11,     0,     0,     0,
1836
       0,     0,     0,     0,    86,     0,     0,     0,    88,    89,
1837
      90,    91,     0,     0,     0,     0,     0,     0,   332,   333,
1838
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1839
       0,     0,     0,    12,    13,     0,     0,     0,    14,     0,
1840
      15,    16,    17,    18,    19,    20,    21,    22,    23,     0,
1841
      24,     0,     0,     0,    25,    26,   132,    28,    29,    30,
1842
      31,     0,     0,    33,     0,     0,    34,    35,    36,     0,
1843
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1844
       0,     0,     0,     0,     0,     0,    45,     0,     0,     0,
1845
      49,    50,     0,     0,     0,     0,     0,     0,     0,     0,
1846
     133,     0,     0,     0,     0,     0,     0,     0,     0,   134,
1847
       0,     0,    61,    62,     0,     0,     0,     0,     0,     0,
1848
       0,     0,   708,    70,     0,    71,    72,    73,    74,    75,
1849
      76,    77,    78,    79,    80,    81,    82,     0,     4,     0,
1850
       5,     6,     7,     8,     0,     0,    84,     9,    10,     0,
1851
      11,     0,     0,     0,     0,     0,     0,     0,    86,     0,
1852
       0,     0,    88,    89,    90,    91,     0,     0,     0,     0,
1853
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1854
       0,     0,     0,     0,     0,     0,     0,    12,    13,     0,
1855
       0,     0,    14,     0,    15,    16,    17,    18,    19,    20,
1856
      21,    22,    23,     0,    24,     0,     0,     0,    25,    26,
1857
     132,    28,    29,    30,    31,     0,     0,    33,     0,     0,
1858
      34,    35,    36,     0,     0,     0,     0,     0,     0,     0,
1859
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1860
      45,     0,     0,     0,    49,    50,     0,     0,     0,     0,
1861
       0,     0,     0,     0,   133,     0,     0,     0,     0,     0,
1862
       0,     0,     0,   134,     0,     0,    61,    62,     0,     0,
1863
       0,     0,     0,     0,     0,     0,    69,    70,     0,    71,
1864
      72,    73,    74,    75,    76,    77,    78,    79,    80,    81,
1865
      82,   478,     4,     0,     5,     6,     7,     8,     0,     0,
1866
      84,     9,    10,     0,    11,     0,     0,     0,     0,     0,
1867
       0,     0,    86,     0,     0,     0,    88,    89,    90,    91,
1868
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1869
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1870
       0,    12,    13,     0,     0,     0,    14,     0,    15,    16,
1871
      17,    18,    19,    20,    21,    22,    23,     0,    24,     0,
1872
       0,     0,    25,    26,   132,    28,    29,    30,    31,     0,
1873
       0,    33,   536,     0,    34,    35,    36,     0,     0,     0,
1874
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1875
       0,     0,     0,     0,    45,     0,     0,     0,    49,    50,
1876
       0,     0,     0,     0,     0,     0,     0,     0,   133,     0,
1877
       0,     0,     0,     0,     0,     0,     0,   134,     0,     0,
1878
      61,    62,     0,     0,     0,     0,     0,     0,     0,     0,
1879
      69,    70,     0,    71,    72,    73,    74,    75,    76,    77,
1880
      78,    79,    80,    81,    82,     0,     4,     0,     5,     6,
1881
       7,     8,     0,     0,    84,     9,    10,     0,    11,     0,
1882
       0,     0,     0,     0,     0,     0,    86,     0,     0,     0,
1883
      88,    89,    90,    91,   568,     0,     0,     0,     0,     0,
1884
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1885
       0,     0,     0,     0,     0,    12,    13,     0,     0,     0,
1886
      14,     0,    15,    16,    17,    18,    19,    20,    21,    22,
1887
      23,     0,    24,     0,     0,     0,    25,    26,   132,    28,
1888
      29,    30,    31,     0,     0,    33,     0,     0,    34,    35,
1889
      36,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1890
       0,     0,     0,     0,     0,     0,     0,     0,    45,     0,
1891
       0,     0,    49,    50,     0,     0,     0,     0,     0,     0,
1892
       0,     0,   133,     0,     0,     0,     0,     0,     0,     0,
1893
       0,   134,     0,     0,    61,    62,     0,     0,     0,     0,
1894
       0,     0,     0,     0,    69,    70,     0,    71,    72,    73,
1895
      74,    75,    76,    77,    78,    79,    80,    81,    82,     0,
1896
       4,     0,     5,     6,     7,     8,     0,     0,    84,     9,
1897
      10,     0,    11,     0,     0,     0,     0,     0,     0,     0,
1898
      86,     0,     0,     0,    88,    89,    90,    91,   -47,     0,
1899
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1900
       0,     0,     0,     0,     0,     0,     0,     0,     0,    12,
1901
      13,     0,     0,     0,    14,     0,    15,    16,    17,    18,
1902
      19,    20,    21,    22,    23,     0,    24,     0,     0,     0,
1903
      25,    26,   132,    28,    29,    30,    31,     0,     0,    33,
1904
       0,     0,    34,    35,    36,     0,     0,     0,     0,     0,
1905
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1906
       0,     0,    45,     0,     0,     0,    49,    50,     0,     0,
1907
       0,     0,     0,     0,     0,     0,   133,     0,     0,     0,
1908
       0,     0,     0,     0,     0,   134,     0,     0,    61,    62,
1909
       0,     0,     0,     0,     0,     0,     0,     0,    69,    70,
1910
       0,    71,    72,    73,    74,    75,    76,    77,    78,    79,
1911
      80,    81,    82,     0,     0,     4,     0,     5,     6,     7,
1912
       8,     0,    84,     0,     9,    10,     0,    11,     0,     0,
1913
       0,     0,     0,     0,    86,     0,     0,     0,    88,    89,
1914
      90,    91,   732,     0,     0,     0,     0,     0,     0,     0,
1915
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1916
       0,     0,     0,     0,    12,    13,     0,     0,     0,    14,
1917
       0,    15,    16,    17,    18,    19,    20,    21,    22,    23,
1918
       0,    24,     0,     0,     0,    25,    26,   132,    28,    29,
1919
      30,    31,     0,     0,    33,     0,     0,    34,    35,    36,
1920
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1921
       0,     0,     0,     0,     0,     0,     0,    45,     0,     0,
1922
       0,    49,    50,     0,     0,     0,     0,     0,     0,     0,
1923
       0,   133,     0,     0,     0,     0,     0,     0,     0,     0,
1924
     134,     0,     0,    61,    62,     0,     0,     0,     0,     0,
1925
       0,     0,     0,    69,    70,     0,    71,    72,    73,    74,
1926
      75,    76,    77,    78,    79,    80,    81,    82,     0,     4,
1927
       0,     5,     6,     7,     8,     0,     0,    84,     9,    10,
1928
       0,    11,     0,     0,     0,     0,     0,     0,     0,    86,
1929
       0,     0,     0,    88,    89,    90,    91,     0,     0,     0,
1930
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1931
       0,     0,     0,     0,     0,     0,     0,     0,    12,    13,
1932
       0,     0,     0,    14,     0,    15,    16,    17,    18,    19,
1933
      20,    21,    22,    23,     0,    24,     0,     0,     0,    25,
1934
      26,   132,    28,    29,    30,    31,     0,     0,    33,     0,
1935
       0,    34,    35,    36,     0,     0,     0,     0,     0,     0,
1936
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1937
       0,    45,     0,     0,     0,    49,    50,     0,     0,     0,
1938
       0,     0,     0,     0,     0,   133,     0,     0,     0,     0,
1939
       0,     0,     0,     0,   134,     0,     0,    61,    62,     0,
1940
       0,     0,     0,     0,     0,     0,     0,    69,    70,     0,
1941
      71,    72,    73,    74,    75,    76,    77,    78,    79,    80,
1942
      81,    82,   751,     4,     0,     5,     6,     7,     8,     0,
1943
       0,    84,     9,    10,     0,    11,     0,     0,     0,     0,
1944
       0,     0,     0,    86,     0,     0,     0,    88,    89,    90,
1945
      91,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1946
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1947
       0,     0,    12,    13,     0,     0,     0,    14,     0,    15,
1948
      16,    17,    18,    19,    20,    21,    22,    23,     0,    24,
1949
       0,     0,     0,    25,    26,   132,    28,    29,    30,    31,
1950
       0,     0,    33,     0,     0,    34,    35,    36,     0,     0,
1951
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1952
       0,     0,     0,     0,   855,    45,     0,     0,     0,    49,
1953
      50,     0,     0,     0,     0,     0,     0,     0,     0,   133,
1954
       0,     0,     0,     0,     0,     0,     0,     0,   134,     0,
1955
       0,    61,    62,     0,     0,     0,     0,     0,     0,     0,
1956
       0,    69,    70,     0,    71,    72,    73,    74,    75,    76,
1957
      77,    78,    79,    80,    81,    82,     0,     4,     0,     5,
1958
       6,     7,     8,     0,     0,    84,     9,    10,     0,    11,
1959
       0,     0,     0,     0,     0,     0,     0,    86,     0,     0,
1960
       0,    88,    89,    90,    91,     0,     0,     0,     0,     0,
1961
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1962
       0,     0,     0,     0,     0,     0,    12,    13,     0,     0,
1963
       0,    14,     0,    15,    16,    17,    18,    19,    20,    21,
1964
      22,    23,     0,    24,     0,     0,     0,    25,    26,   132,
1965
      28,    29,    30,    31,     0,     0,    33,     0,     0,    34,
1966
      35,    36,     0,     0,     0,     0,     0,     0,     0,     0,
1967
       0,     0,     0,     0,     0,     0,     0,     0,     0,    45,
1968
       0,     0,     0,    49,    50,     0,     0,     0,     0,     0,
1969
       0,     0,     0,   133,     0,     0,     0,     0,     0,     0,
1970
       0,     0,   134,     0,     0,    61,    62,     0,     0,     0,
1971
       0,     0,     0,     0,     0,    69,    70,     0,    71,    72,
1972
      73,    74,    75,    76,    77,    78,    79,    80,    81,    82,
1973
       0,     4,     0,     5,     6,     7,     8,     0,     0,    84,
1974
       9,    10,     0,    11,     0,     0,     0,     0,     0,     0,
1975
       0,    86,     0,     0,     0,    88,    89,    90,    91,     0,
1976
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1977
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1978
      12,    13,     0,     0,     0,    14,     0,    15,    16,    17,
1979
      18,    19,    20,    21,    22,    23,     0,    24,     0,     0,
1980
       0,    25,    26,   132,    28,    29,    30,    31,     0,     0,
1981
      33,     0,     0,    34,    35,    36,     0,     0,     0,     0,
1982
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1983
       0,     0,     0,    45,     0,     0,     0,    49,    50,     0,
1984
       0,     0,     0,     0,     0,     0,     0,   133,     0,     0,
1985
       0,     0,     0,     0,     0,     0,   134,     0,     0,    61,
1986
      62,     0,     0,     0,     0,     0,     0,     0,     0,    69,
1987
      70,     0,    71,    72,    73,    74,    75,    76,    77,    78,
1988
      79,    80,    81,    82,     0,     0,     0,     0,     0,     0,
1989
       0,     0,   225,    84,   226,   227,   228,   229,   230,   231,
1990
     232,   233,   234,     0,     0,   157,     0,     0,     0,    88,
1991
      89,    90,    91,   364,     0,   365,   366,   367,   368,   369,
1992
     370,   371,   372,   373,   374,   375,   376,   377,   378,   379,
1993
     380,   381,   382,   383,   384,   385,   386,   387,   388,   389,
1994
       0,   390,     0,     0,     0,     0,     0,   235,     0,     0,
1995
       0,   391,     0,     0,     0,     0,     0,     0,   236,     0,
1996
     237,   238,     0,     0,   429,    28,    29,    30,     0,     0,
1997
       0,     0,     0,     0,   241,   242,   243,   244,   245,   246,
1998
     247,   248,   249,   250,   251,   252,   253,   254,   255,   256,
1999
     257,   258,   259,   260,   261,   262,   263,   264,   265,   266,
2000
     267,   268,   269,   270,   271,   272,   273,   274,  1081,   276,
2001
     277,   278,   279,   280,     0,     0,     0,   281,   282,   283,
2002
     284,   285,     0,   286,   287,   288,   289,   290,   291,   292,
2003
     293,   294,   295,   296,   297,   298,   299,   300,   301,   302,
2004
     303,   304,   225,     0,   226,   227,   228,   229,   230,   231,
2005
     232,   233,   234,     0,     0,     0,     0,     0,     0,     0,
2006
       0,     0,     0,     0,     0,     0,     0,     0,     0,  1082,
2007
     365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
2008
     375,   376,   377,   378,   379,   380,   381,   382,   383,   384,
2009
     385,   386,   387,   388,   389,     0,   390,   235,     0,     0,
2010
       0,     0,     0,     0,     0,     0,   391,     0,   236,     0,
2011
     237,   238,     0,     0,   429,    28,    29,    30,     0,     0,
2012
       0,     0,     0,     0,   241,   242,   243,   244,   245,   246,
2013
     247,   248,   249,   250,   251,   252,   253,   254,   255,   256,
2014
     257,   258,   259,   260,   261,   262,   263,   264,   265,   266,
2015
     267,   268,   269,   270,   271,   272,   273,   274,  1081,   276,
2016
     277,   278,   279,   280,     0,     0,     0,   281,   282,   283,
2017
     284,   285,     0,   286,   287,   288,   289,   290,   291,   292,
2018
     293,   294,   295,   296,   297,   298,   299,   300,   301,   302,
2019
     303,   304,     0,   225,     0,   226,   227,   228,   229,   230,
2020
     231,   232,   233,   234,     0,     0,     0,     0,     0,     0,
2021
       0,     0,     0,     0,     0,     0,     0,     0,     0,  1116,
2022
     782,   367,   368,   369,   370,   371,   372,   373,   374,   375,
2023
     376,   377,   378,   379,   380,   381,   382,   383,   384,   385,
2024
     386,   387,   388,   389,     0,   390,     0,     0,   235,     0,
2025
       0,     0,     0,     0,     0,   391,     0,     0,     0,   236,
2026
       0,   237,   238,     0,     0,  1054,    28,    29,    30,     0,
2027
       0,     0,     0,     0,     0,   241,   242,   243,   244,   245,
2028
     246,   247,   248,   249,   250,   251,   252,   253,   254,   255,
2029
     256,   257,   258,   259,   260,   261,   262,   263,   264,   265,
2030
     266,   267,   268,   269,   270,   271,   272,   273,   274,  1055,
2031
     276,   277,   278,   279,   280,     0,     0,     0,   281,   282,
2032
     283,   284,   285,     0,   286,   287,   288,   289,   290,   291,
2033
     292,   293,  1056,  1057,   296,   297,   298,   299,   300,   301,
2034
     302,   303,   304,     0,     0,   361,   362,   363,     0,     0,
2035
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2036
       0,     0,     0,     0,     0,     0,   364,   786,   365,   366,
2037
     367,   368,   369,   370,   371,   372,   373,   374,   375,   376,
2038
     377,   378,   379,   380,   381,   382,   383,   384,   385,   386,
2039
     387,   388,   389,     0,   390,   361,   362,   363,     0,     0,
2040
       0,     0,     0,     0,   391,     0,     0,     0,     0,     0,
2041
       0,     0,     0,     0,     0,     0,   364,     0,   365,   366,
2042
     367,   368,   369,   370,   371,   372,   373,   374,   375,   376,
2043
     377,   378,   379,   380,   381,   382,   383,   384,   385,   386,
2044
     387,   388,   389,     0,   390,   361,   362,   363,     0,     0,
2045
       0,     0,     0,     0,   391,     0,     0,     0,     0,     0,
2046
       0,     0,     0,     0,     0,     0,   364,     0,   365,   366,
2047
     367,   368,   369,   370,   371,   372,   373,   374,   375,   376,
2048
     377,   378,   379,   380,   381,   382,   383,   384,   385,   386,
2049
     387,   388,   389,     0,   390,     0,   361,   362,   363,     0,
2050
       0,     0,     0,     0,   391,     0,     0,     0,     0,     0,
2051
       0,     0,     0,     0,     0,     0,   703,   364,     0,   365,
2052
     366,   367,   368,   369,   370,   371,   372,   373,   374,   375,
2053
     376,   377,   378,   379,   380,   381,   382,   383,   384,   385,
2054
     386,   387,   388,   389,     0,   390,   361,   362,   363,     0,
2055
       0,     0,     0,     0,     0,   391,     0,     0,     0,     0,
2056
       0,     0,     0,     0,     0,     0,   713,   364,     0,   365,
2057
     366,   367,   368,   369,   370,   371,   372,   373,   374,   375,
2058
     376,   377,   378,   379,   380,   381,   382,   383,   384,   385,
2059
     386,   387,   388,   389,     0,   390,   361,   362,   363,     0,
2060
       0,     0,     0,     0,     0,   391,     0,     0,     0,     0,
2061
       0,     0,     0,     0,     0,     0,   833,   364,     0,   365,
2062
     366,   367,   368,   369,   370,   371,   372,   373,   374,   375,
2063
     376,   377,   378,   379,   380,   381,   382,   383,   384,   385,
2064
     386,   387,   388,   389,     0,   390,     0,   361,   362,   363,
2065
       0,     0,     0,     0,     0,   391,     0,     0,     0,     0,
2066
       0,     0,     0,     0,     0,     0,     0,   834,   364,     0,
2067
     365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
2068
     375,   376,   377,   378,   379,   380,   381,   382,   383,   384,
2069
     385,   386,   387,   388,   389,     0,   390,   361,   362,   363,
2070
       0,     0,     0,     0,     0,     0,   391,     0,     0,     0,
2071
       0,     0,     0,     0,     0,     0,     0,   835,   364,     0,
2072
     365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
2073
     375,   376,   377,   378,   379,   380,   381,   382,   383,   384,
2074
     385,   386,   387,   388,   389,     0,   390,   361,   362,   363,
2075
       0,     0,     0,     0,     0,     0,   391,     0,     0,     0,
2076
       0,   637,     0,     0,     0,   542,     0,     0,   364,     0,
2077
     365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
2078
     375,   376,   377,   378,   379,   380,   381,   382,   383,   384,
2079
     385,   386,   387,   388,   389,     0,   390,   361,   362,   363,
2080
       0,     0,     0,     0,     0,     0,   391,     0,     0,     0,
2081
       0,     0,     0,     0,     0,     0,   542,     0,   364,     0,
2082
     365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
2083
     375,   376,   377,   378,   379,   380,   381,   382,   383,   384,
2084
     385,   386,   387,   388,   389,     0,   390,   361,   362,   363,
2085
       0,     0,     0,     0,     0,     0,   391,     0,     0,     0,
2086
       0,     0,     0,     0,     0,     0,   638,     0,   364,     0,
2087
     365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
2088
     375,   376,   377,   378,   379,   380,   381,   382,   383,   384,
2089
     385,   386,   387,   388,   389,     0,   390,   361,   362,   363,
2090
       0,     0,     0,     0,     0,     0,   391,     0,     0,     0,
2091
       0,     0,     0,     0,     0,     0,   639,     0,   364,     0,
2092
     365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
2093
     375,   376,   377,   378,   379,   380,   381,   382,   383,   384,
2094
     385,   386,   387,   388,   389,     0,   390,   361,   362,   363,
2095
       0,     0,     0,     0,     0,     0,   391,     0,     0,     0,
2096
       0,     0,     0,     0,     0,     0,   648,     0,   364,     0,
2097
     365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
2098
     375,   376,   377,   378,   379,   380,   381,   382,   383,   384,
2099
     385,   386,   387,   388,   389,     0,   390,   361,   362,   363,
2100
       0,     0,     0,     0,     0,     0,   391,     0,     0,     0,
2101
       0,     0,     0,     0,     0,     0,   651,     0,   364,     0,
2102
     365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
2103
     375,   376,   377,   378,   379,   380,   381,   382,   383,   384,
2104
     385,   386,   387,   388,   389,     0,   390,   361,   362,   363,
2105
       0,     0,     0,     0,     0,     0,   391,     0,     0,     0,
2106
       0,     0,     0,     0,     0,     0,   657,     0,   364,     0,
2107
     365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
2108
     375,   376,   377,   378,   379,   380,   381,   382,   383,   384,
2109
     385,   386,   387,   388,   389,     0,   390,   361,   362,   363,
2110
       0,     0,     0,     0,     0,     0,   391,     0,     0,     0,
2111
       0,     0,     0,     0,     0,     0,   658,     0,   364,     0,
2112
     365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
2113
     375,   376,   377,   378,   379,   380,   381,   382,   383,   384,
2114
     385,   386,   387,   388,   389,     0,   390,   361,   362,   363,
2115
       0,     0,     0,     0,     0,     0,   391,     0,     0,     0,
2116
       0,     0,     0,     0,     0,     0,   676,     0,   364,     0,
2117
     365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
2118
     375,   376,   377,   378,   379,   380,   381,   382,   383,   384,
2119
     385,   386,   387,   388,   389,     0,   390,   361,   362,   363,
2120
       0,     0,     0,     0,     0,     0,   391,     0,     0,     0,
2121
       0,     0,     0,     0,     0,     0,   692,     0,   364,     0,
2122
     365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
2123
     375,   376,   377,   378,   379,   380,   381,   382,   383,   384,
2124
     385,   386,   387,   388,   389,     0,   390,   361,   362,   363,
2125
       0,     0,     0,     0,     0,     0,   391,     0,     0,     0,
2126
       0,     0,     0,     0,     0,     0,   809,     0,   364,  1034,
2127
     365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
2128
     375,   376,   377,   378,   379,   380,   381,   382,   383,   384,
2129
     385,   386,   387,   388,   389,     0,   390,   361,   362,   363,
2130
       0,     0,     0,     0,     0,     0,   391,     0,     0,     0,
2131
       0,     0,     0,     0,     0,     0,   810,     0,   364,     0,
2132
     365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
2133
     375,   376,   377,   378,   379,   380,   381,   382,   383,   384,
2134
     385,   386,   387,   388,   389,     0,   390,   361,   362,   363,
2135
       0,     0,     0,     0,     0,     0,   391,     0,     0,     0,
2136
       0,     0,     0,     0,     0,     0,   838,     0,   364,     0,
2137
     365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
2138
     375,   376,   377,   378,   379,   380,   381,   382,   383,   384,
2139
     385,   386,   387,   388,   389,     0,   390,   361,   362,   363,
2140
       0,     0,     0,     0,     0,     0,   391,     0,     0,     0,
2141
       0,     0,     0,     0,  1035,     0,     0,     0,   364,     0,
2142
     365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
2143
     375,   376,   377,   378,   379,   380,   381,   382,   383,   384,
2144
     385,   386,   387,   388,   389,     0,   390,   361,   362,   363,
2145
       0,     0,     0,     0,     0,     0,   391,     0,     0,     0,
2146
       0,     0,     0,     0,   392,     0,     0,     0,   364,     0,
2147
     365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
2148
     375,   376,   377,   378,   379,   380,   381,   382,   383,   384,
2149
     385,   386,   387,   388,   389,     0,   390,   361,   362,   363,
2150
       0,     0,     0,     0,     0,     0,   391,     0,     0,     0,
2151
       0,     0,     0,     0,   530,     0,     0,     0,   364,     0,
2152
     365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
2153
     375,   376,   377,   378,   379,   380,   381,   382,   383,   384,
2154
     385,   386,   387,   388,   389,     0,   390,   361,   362,   363,
2155
       0,     0,     0,     0,     0,     0,   391,     0,     0,     0,
2156
       0,     0,   332,   333,  1202,     0,     0,     0,   364,     0,
2157
     365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
2158
     375,   376,   377,   378,   379,   380,   381,   382,   383,   384,
2159
     385,   386,   387,   388,   389,     0,   390,     0,     0,     0,
2160
     132,    28,    29,    30,    31,     0,   391,    33,     0,     0,
2161
       0,   313,     0,   886,     0,     0,     0,     0,     0,     0,
2162
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2163
       0,   225,     0,   226,   227,   228,   229,   230,   231,   232,
2164
     233,   234,     0,     0,   162,     0,     0,     0,     0,     0,
2165
       0,     0,     0,   134,     0,     0,     0,     0,     0,     0,
2166
       0,     0,  -409,     0,     0,     0,   753,    70,     0,    71,
2167
      72,    73,    74,    75,    76,    77,    78,    79,     0,     0,
2168
       0,     0,     0,     0,     0,     0,   235,     0,     0,     0,
2169
       0,     0,     0,     0,     0,     0,     0,   236,     0,   237,
2170
     238,     0,   314,  1142,     0,     0,   754,     0,    90,    91,
2171
       0,     0,  -406,   241,   242,   243,   244,   245,   246,   247,
2172
     248,   249,   250,   251,   252,   253,   254,   255,   256,   257,
2173
     258,   259,   260,   261,   262,   263,   264,   265,   266,   267,
2174
     268,   269,   270,   271,   272,   273,   274,   813,   814,   815,
2175
     816,   817,   818,   819,   820,   821,   822,   282,   283,   284,
2176
     285,     0,   286,   287,   288,   289,   290,   291,   292,   293,
2177
     294,   295,   296,   297,   298,   299,   300,   301,   302,   303,
2178
     304,   225,   363,   226,   227,   228,   229,   230,   231,   232,
2179
     233,   234,     0,     0,     0,     0,     0,     0,     0,     0,
2180
       0,   364,     0,   365,   366,   367,   368,   369,   370,   371,
2181
     372,   373,   374,   375,   376,   377,   378,   379,   380,   381,
2182
     382,   383,   384,   385,   386,   387,   388,   389,     0,   390,
2183
       0,     0,     0,     0,     0,     0,   235,     0,     0,   391,
2184
       0,     0,     0,     0,     0,     0,     0,   236,     0,   237,
2185
     238,     0,     0,   239,     0,     0,   240,     0,     0,     0,
2186
       0,     0,     0,   241,   242,   243,   244,   245,   246,   247,
2187
     248,   249,   250,   251,   252,   253,   254,   255,   256,   257,
2188
     258,   259,   260,   261,   262,   263,   264,   265,   266,   267,
2189
     268,   269,   270,   271,   272,   273,   274,   275,   276,   277,
2190
     278,   279,   280,     0,     0,     0,   281,   282,   283,   284,
2191
     285,     0,   286,   287,   288,   289,   290,   291,   292,   293,
2192
     294,   295,   296,   297,   298,   299,   300,   301,   302,   303,
2193
     304,   225,     0,   226,   227,   228,   229,   230,   231,   232,
2194
     233,   234,   368,   369,   370,   371,   372,   373,   374,   375,
2195
     376,   377,   378,   379,   380,   381,   382,   383,   384,   385,
2196
     386,   387,   388,   389,     0,   390,     0,     0,     0,     0,
2197
       0,     0,     0,     0,     0,   391,     0,     0,     0,     0,
2198
       0,     0,     0,     0,     0,     0,   235,     0,     0,     0,
2199
       0,     0,     0,     0,     0,     0,     0,   236,     0,   237,
2200
     238,     0,     0,   239,     0,     0,     0,     0,     0,     0,
2201
       0,     0,     0,   241,   242,   243,   244,   245,   246,   247,
2202
     248,   249,   250,   251,   252,   253,   254,   255,   256,   257,
2203
     258,   259,   260,   261,   262,   263,   264,   265,   266,   267,
2204
     268,   269,   270,   271,   272,   273,   274,   275,   276,   277,
2205
     278,   279,   280,     0,     0,     0,   281,   282,   283,   284,
2206
     285,     0,   286,   287,   288,   289,   290,   291,   292,   293,
2207
     294,   295,   296,   297,   298,   299,   300,   301,   302,   303,
2208
     304,   225,     0,   226,   227,   228,   229,   230,   231,   232,
2209
     233,   234,   370,   371,   372,   373,   374,   375,   376,   377,
2210
     378,   379,   380,   381,   382,   383,   384,   385,   386,   387,
2211
     388,   389,     0,   390,     0,     0,     0,     0,     0,     0,
2212
       0,     0,     0,   391,     0,     0,     0,     0,     0,     0,
2213
       0,     0,     0,     0,     0,     0,   235,     0,     0,     0,
2214
       0,     0,     0,     0,     0,     0,     0,   236,     0,   237,
2215
     238,     0,     0,  1098,     0,     0,     0,     0,     0,     0,
2216
       0,     0,     0,   241,   242,   243,   244,   245,   246,   247,
2217
     248,   249,   250,   251,   252,   253,   254,   255,   256,   257,
2218
     258,   259,   260,   261,   262,   263,   264,   265,   266,   267,
2219
     268,   269,   270,   271,   272,   273,   274,   275,   276,   277,
2220
     278,   279,   280,     0,     0,     0,   281,   282,   283,   284,
2221
     285,     0,   286,   287,   288,   289,   290,   291,   292,   293,
2222
     294,   295,   296,   297,   298,   299,   300,   301,   302,   303,
2223
     304,   132,    28,    29,    30,    31,     0,     0,    33,     0,
2224
       0,     0,   313,   372,   373,   374,   375,   376,   377,   378,
2225
     379,   380,   381,   382,   383,   384,   385,   386,   387,   388,
2226
     389,     0,   390,     0,     0,     0,     0,     0,     0,     0,
2227
       0,     0,   391,     0,     0,   162,     0,     0,     0,     0,
2228
       0,     0,     0,     0,   134,     0,     0,     0,     0,     0,
2229
       0,     0,     0,     0,     0,     0,     0,     0,    70,     0,
2230
      71,    72,    73,    74,    75,    76,    77,    78,    79,     0,
2231
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2232
     361,   362,   363,     0,     0,     0,     0,     0,     0,     0,
2233
       0,     0,     0,   314,     0,     0,     0,   315,     0,    90,
2234
      91,   364,     0,   365,   366,   367,   368,   369,   370,   371,
2235
     372,   373,   374,   375,   376,   377,   378,   379,   380,   381,
2236
     382,   383,   384,   385,   386,   387,   388,   389,     0,   390,
2237
       0,     0,     0,     0,     0,     0,     0,     0,     0,   391,
2238
       0,     0,     0,     0,     0,     0,     0,     0,     0,   361,
2239
     362,   363,     0,     0,   552,     0,     0,     0,     0,     0,
2240
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2241
     364,   655,   365,   366,   367,   368,   369,   370,   371,   372,
2242
     373,   374,   375,   376,   377,   378,   379,   380,   381,   382,
2243
     383,   384,   385,   386,   387,   388,   389,     0,   390,   361,
2244
     362,   363,     0,     0,     0,     0,     0,     0,   391,     0,
2245
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2246
     364,   719,   365,   366,   367,   368,   369,   370,   371,   372,
2247
     373,   374,   375,   376,   377,   378,   379,   380,   381,   382,
2248
     383,   384,   385,   386,   387,   388,   389,     0,   390,   361,
2249
     362,   363,     0,     0,     0,     0,     0,     0,   391,     0,
2250
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2251
     364,     0,   365,   366,   367,   368,   369,   370,   371,   372,
2252
     373,   374,   375,   376,   377,   378,   379,   380,   381,   382,
2253
     383,   384,   385,   386,   387,   388,   389,     0,   390,   362,
2254
     363,     0,     0,     0,     0,     0,     0,     0,   391,     0,
2255
       0,     0,     0,     0,     0,     0,     0,     0,     0,   364,
2256
       0,   365,   366,   367,   368,   369,   370,   371,   372,   373,
2257
     374,   375,   376,   377,   378,   379,   380,   381,   382,   383,
2258
     384,   385,   386,   387,   388,   389,   419,   390,     0,     0,
2259
       0,     0,     0,     0,     0,     0,     0,   391,     0,     0,
2260
       0,     0,   364,     0,   365,   366,   367,   368,   369,   370,
2261
     371,   372,   373,   374,   375,   376,   377,   378,   379,   380,
2262
     381,   382,   383,   384,   385,   386,   387,   388,   389,     0,
2263
     390,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2264
     391,  -608,  -608,  -608,  -608,  -608,   377,   378,   379,   380,
2265
     381,   382,   383,   384,   385,   386,   387,   388,   389,     0,
2266
     390,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2267
     391
2268
};
2269
2270
static const yytype_int16 yycheck[] =
2271
{
2272
       2,    35,   116,    94,    81,    82,     2,    56,    68,     2,
2273
      54,    80,    47,   776,   205,   829,    35,    52,   469,   197,
2274
      35,   766,    14,   137,   722,   770,    81,    82,    14,   684,
2275
     978,    14,   980,    35,  1023,  1009,  1025,    14,    14,     2,
2276
     521,    31,    31,    37,   135,    94,    75,    79,   760,   310,
2277
     311,    31,   966,    37,   315,   313,   507,   103,   104,    79,
2278
     511,    31,     0,   714,  1134,   103,   104,    58,    75,    81,
2279
      82,    79,    79,    79,   525,   166,    39,    68,    79,   875,
2280
      81,    35,   101,    31,   133,  1059,   135,   738,   169,   109,
2281
     110,  1161,   174,   827,   176,  1009,   177,   179,    94,   128,
2282
     100,    94,   177,     4,     5,     6,     7,     8,     9,    10,
2283
      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
2284
      21,    22,    23,    24,   782,    79,  1100,   177,   786,    79,
2285
     100,    81,   390,   831,   180,    81,    82,    38,   952,   851,
2286
     217,   853,   180,  1132,   940,    46,    47,   166,   167,   115,
2287
     116,    52,   184,   808,   177,   873,    81,    82,   166,   167,
2288
     168,   205,   217,   897,   898,   961,   167,   168,  1157,  1158,
2289
     170,   137,   179,   179,   100,   109,   110,   184,   184,   942,
2290
      79,   836,    83,    75,   178,    86,   178,    88,   177,   179,
2291
     177,  1180,   178,   938,   178,   178,   176,  1186,   177,  1188,
2292
     176,   178,   174,   179,   685,   217,   178,    71,    72,  1198,
2293
      75,    76,    77,    78,    79,   949,  1012,   167,   168,    30,
2294
     177,   879,   880,   881,   882,    89,   177,   945,    59,  1177,
2295
    1026,    75,    79,   183,    81,   169,   954,   120,   121,   399,
2296
     974,   975,   976,   977,   170,   128,    75,    76,    77,    78,
2297
     327,    79,   179,    81,   119,    79,   157,    81,   174,   336,
2298
     161,    92,   178,   164,    75,    76,    77,    78,   167,   168,
2299
     153,   217,   327,    79,   175,    81,   169,   178,   312,   313,
2300
     177,   336,   183,   184,   185,  1003,   187,   188,   549,   635,
2301
     119,   637,   217,  1011,   313,   174,   175,   312,   313,   178,
2302
     646,   350,   177,   134,   464,   465,  1120,    75,   119,   500,
2303
      78,   313,   177,   142,   143,   327,   767,   218,   219,   184,
2304
     167,   168,    37,    38,   336,   394,   177,   157,   158,   331,
2305
     176,   142,   143,   179,   177,   331,   396,   397,   166,   167,
2306
     168,   172,   166,   167,   168,  1063,    75,    76,   177,    78,
2307
    1164,   181,    75,   169,  1072,    78,   390,   177,  1121,   109,
2308
     110,   167,   168,   177,    79,   400,   177,    75,    76,   119,
2309
      78,   157,   158,   177,   825,   390,    75,    76,    77,    78,
2310
     109,   327,   111,   169,   177,   563,   109,   436,   111,   169,
2311
     336,   177,   177,    53,   357,   181,    68,   431,    75,    76,
2312
      77,    78,   327,   153,   855,   174,   857,   176,   859,   310,
2313
     311,   336,   431,   314,   315,    75,   431,   868,   134,    79,
2314
     119,   169,   174,   175,    84,   326,   178,   120,   121,   431,
2315
    1148,   174,   467,   176,   335,   128,   402,   174,  1156,   176,
2316
      92,   134,   119,   142,   143,  1163,   347,   516,   176,    75,
2317
      76,    77,    78,  1151,   545,  1173,   500,   102,   103,   104,
2318
     361,   362,   363,   364,   365,   366,   367,   368,   369,   370,
2319
     371,   372,   373,   374,   375,   376,   377,   378,   379,   380,
2320
     381,   382,   383,   384,   385,   386,   387,   388,   389,  1187,
2321
     391,   493,   174,   754,   176,   176,   545,   493,   174,   400,
2322
     176,   402,   403,   404,   405,   406,   407,   408,   409,   410,
2323
     411,   412,   413,   414,   415,   176,   142,   143,   419,   420,
2324
     421,   422,   423,   424,   425,   426,    16,   428,   102,   103,
2325
     104,   600,    71,    72,    75,    76,    77,    78,    37,    38,
2326
     617,   157,   158,   176,   805,   157,   158,   157,   158,   545,
2327
     451,   177,   545,   169,   109,   110,   157,   158,    35,   169,
2328
      37,   177,   617,   176,   742,   181,   467,   745,   169,   181,
2329
     401,   181,    16,   474,   157,   158,   177,   478,   655,   174,
2330
     181,   176,   843,    75,   157,   158,   552,    35,   489,    37,
2331
     659,   178,   157,   158,    30,   672,   169,   174,   181,   176,
2332
     655,   142,   143,   504,   169,   617,   437,   174,   181,   176,
2333
     174,    75,   176,   682,    75,   324,   181,   672,  1069,   328,
2334
     180,   181,   119,   120,   121,   122,   123,   124,   125,   126,
2335
     127,   128,   709,   342,    75,   344,   345,   346,   176,    75,
2336
      76,    77,    78,   655,   678,   114,   115,   681,   549,   120,
2337
     121,   552,   179,   554,   709,   689,   153,   128,   177,   560,
2338
     672,   562,   177,   678,   880,   881,   681,   568,   683,   177,
2339
     848,   617,   975,   976,   689,    89,    90,   175,   755,   174,
2340
     182,   177,    31,   180,   686,   648,   177,   176,   651,   655,
2341
     686,    31,   617,   686,    31,   526,   527,   709,    31,    31,
2342
     755,   602,    31,    31,    31,   606,   142,   143,   777,   655,
2343
     611,    31,    31,   891,    31,   717,    31,    31,   720,   174,
2344
     722,   717,   174,   686,   177,   794,   672,   176,   174,    75,
2345
     655,   176,   823,   634,   635,    79,   637,   179,   916,   174,
2346
     174,   177,   776,   755,   176,   646,   138,   672,   138,   650,
2347
      31,   179,   653,   654,   178,   178,   934,   174,    54,    55,
2348
      56,   776,    58,   709,   175,    75,    75,   782,   180,   846,
2349
     177,   786,    68,   674,   605,    16,    75,   177,   609,   177,
2350
     177,   177,   613,   614,   709,   178,   175,   175,   179,   100,
2351
      16,   846,   178,   795,   179,   758,   178,   178,   139,   795,
2352
     179,   702,   795,   175,    35,    84,   177,   175,   178,   755,
2353
     711,   178,   827,   991,   992,   177,   177,   176,   719,   174,
2354
     889,   177,   176,   176,    55,   100,   174,   174,   179,   831,
2355
     755,   176,   795,    35,   846,   837,    35,   839,   176,   908,
2356
     874,   837,    37,   839,    31,   176,   809,    75,   178,  1027,
2357
     751,   174,   178,   754,   945,   177,  1034,  1035,   176,   874,
2358
      91,   762,   175,   179,   879,   880,   881,   882,   174,   174,
2359
     174,   873,   941,    50,    51,    52,    53,    54,    55,    56,
2360
     846,    58,   897,   898,   847,   180,    52,    53,    54,    55,
2361
      56,    68,    58,   895,  1008,   177,   797,   180,   174,   933,
2362
     846,   179,    68,    37,   805,   179,   178,   180,   942,    31,
2363
      38,    35,    35,   178,   176,   116,    37,   919,   933,   178,
2364
     178,   846,   178,   919,   176,    14,    14,   942,  1106,   180,
2365
     109,   111,  1110,   179,   949,  1113,    14,    37,   171,   840,
2366
     841,   177,   843,    79,  1004,   109,   110,   111,    79,   179,
2367
      16,   966,   954,   176,   950,   119,   120,   121,   176,   974,
2368
     975,   976,   977,   965,   128,   176,   178,    16,    16,   965,
2369
     134,   135,   136,   137,    16,    16,    16,    16,    16,   179,
2370
    1049,    79,   174,   179,   986,   179,   176,  1047,   169,   153,
2371
     986,   176,   176,  1053,  1009,   100,  1065,   117,  1000,   169,
2372
      79,  1003,    16,   179,  1000,   179,  1040,  1185,   177,  1011,
2373
     178,   176,   179,  1047,    75,   178,   177,  1120,   178,  1197,
2374
     983,   922,   985,   689,  1084,  1040,  1095,    94,   929,    54,
2375
     931,   866,  1047,   205,  1036,  1037,   186,   500,   672,   846,
2376
    1036,  1037,  1008,   985,   929,   895,   823,   949,   786,   898,
2377
    1084,  1165,   502,   157,  1123,   945,  1125,  1084,  1024,  1128,
2378
    1129,  1063,  1122,  1093,  1133,   505,  1155,  1163,   490,  1084,
2379
    1072,  1073,  1163,  1075,  1076,  1100,   840,  1073,  1059,  1075,
2380
    1076,   653,   313,   166,  1144,   397,  1108,  1121,   640,   554,
2381
     474,    -1,   674,   994,    -1,    -1,   997,    -1,  1167,    -1,
2382
      -1,    -1,    -1,    -1,    -1,    -1,  1121,    -1,    -1,    -1,
2383
    1179,    75,    76,    77,    78,    79,    75,    76,    77,    78,
2384
      79,    -1,    -1,    -1,   119,   120,   121,   122,   123,   124,
2385
     125,   126,   127,   128,  1136,    -1,    -1,  1139,    -1,  1141,
2386
    1136,    -1,  1108,  1139,    -1,  1141,  1148,    -1,    -1,  1151,
2387
      -1,    -1,    -1,    -1,  1156,   119,   120,   121,   153,   390,
2388
     119,   120,   121,    -1,   128,   396,   397,   398,   399,   128,
2389
     134,  1173,    -1,    -1,    -1,    -1,    -1,    -1,  1079,    -1,
2390
      -1,    -1,    -1,   178,    -1,  1187,    -1,  1189,    -1,   153,
2391
    1091,    -1,    -1,  1189,   153,  1096,  1097,    -1,  1200,  1165,
2392
     431,    -1,  1103,  1104,  1200,    49,    50,    51,    52,    53,
2393
      54,    55,    56,   177,    58,    -1,    -1,    -1,   177,    -1,
2394
     184,    -1,    -1,    -1,    68,   184,    -1,    -1,    -1,    -1,
2395
      -1,   462,    -1,   464,   465,   466,   119,   120,   121,   122,
2396
     123,   124,   125,   126,   127,   128,    -1,     3,  1149,     5,
2397
       6,     7,     8,     9,    10,    11,    12,    13,    -1,    15,
2398
      -1,    -1,    -1,    -1,   103,    -1,    -1,    -1,    -1,    -1,
2399
     153,   502,   111,    -1,    30,    -1,    -1,    -1,    -1,    -1,
2400
     119,   120,   121,   122,   123,   124,   125,   126,   127,   128,
2401
     129,    -1,    -1,    -1,  1195,   178,    52,    53,    -1,    -1,
2402
      -1,    57,    58,    59,    60,    61,    62,    63,    64,    65,
2403
      66,    67,    -1,    69,   153,    71,    72,    73,    74,    75,
2404
      76,    77,    78,    79,    -1,    -1,    82,    -1,    -1,    85,
2405
      86,    87,    88,    89,    90,    91,    92,    93,    94,    95,
2406
      96,    97,    98,    99,   100,   101,   102,   103,   104,   105,
2407
     106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
2408
     116,   117,   118,   119,   120,   121,   122,   123,   124,    -1,
2409
      -1,    -1,   128,   129,   130,   131,   132,    -1,   134,   135,
2410
     136,   137,   138,   139,   140,   141,   142,   143,   144,   145,
2411
     146,   147,   148,   149,   150,   151,   152,   153,   154,   155,
2412
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   165,
2413
      -1,    -1,    -1,    -1,    -1,   171,    -1,    -1,    -1,    -1,
2414
      -1,   177,   178,    -1,    -1,   181,   182,   183,   184,     3,
2415
      -1,     5,     6,     7,     8,     9,    10,    11,    12,    13,
2416
      -1,    15,    -1,    -1,    -1,    -1,   119,   120,   121,   122,
2417
     123,   124,   125,   126,   127,   128,    30,    -1,    -1,    -1,
2418
     119,   120,   121,   122,   123,   124,   125,   126,   127,   128,
2419
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    52,    53,
2420
     153,    -1,    -1,    57,    58,    59,    60,    61,    62,    63,
2421
      64,    65,    66,    67,   153,    69,    -1,    71,    72,    73,
2422
      74,    75,    76,    77,    78,    79,    -1,   180,    82,    -1,
2423
      -1,    85,    86,    87,    88,    89,    90,    91,    92,    93,
2424
      94,    95,    96,    97,    98,    99,   100,   101,   102,   103,
2425
     104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
2426
     114,   115,   116,   117,   118,   119,   120,   121,   122,   123,
2427
     124,    -1,    -1,    -1,   128,   129,   130,   131,   132,    -1,
2428
     134,   135,   136,   137,   138,   139,   140,   141,   142,   143,
2429
     144,   145,   146,   147,   148,   149,   150,   151,   152,   153,
2430
     154,   155,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2431
      -1,   165,    -1,    -1,    -1,    -1,    -1,   171,    -1,    -1,
2432
      -1,    -1,    -1,   177,   178,    -1,    -1,   181,   182,   183,
2433
     184,     3,    -1,     5,     6,     7,     8,     9,    10,    11,
2434
      12,    13,    -1,    15,    -1,    -1,    -1,    -1,   119,   120,
2435
     121,   122,   123,   124,   125,   126,   127,   128,    30,    44,
2436
      45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
2437
      55,    56,    -1,    58,    -1,    -1,    -1,    -1,    -1,    -1,
2438
      52,    53,   153,    68,    -1,    57,    58,    59,    60,    61,
2439
      62,    63,    64,    65,    66,    67,    -1,    69,    -1,    71,
2440
      72,    73,    74,    75,    76,    77,    78,    79,    -1,   180,
2441
      82,    -1,    -1,    85,    86,    87,    88,    89,    90,    91,
2442
      92,    93,    94,    95,    96,    97,    98,    99,   100,   101,
2443
     102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
2444
     112,   113,   114,   115,   116,   117,   118,   119,   120,   121,
2445
     122,   123,   124,    -1,    -1,    -1,   128,   129,   130,   131,
2446
     132,    -1,   134,   135,   136,   137,   138,   139,   140,   141,
2447
     142,   143,   144,   145,   146,   147,   148,   149,   150,   151,
2448
     152,   153,   154,   155,    -1,    -1,    -1,    -1,    -1,    -1,
2449
      -1,    -1,    -1,   165,    -1,    -1,    -1,    -1,    -1,   171,
2450
      -1,    -1,    -1,    -1,    -1,   177,   178,    -1,    -1,   181,
2451
     182,   183,   184,     3,    -1,     5,     6,     7,     8,     9,
2452
      10,    11,    12,    13,    -1,    15,   119,   120,   121,   122,
2453
     123,   124,   125,   126,   127,   128,    -1,    -1,    -1,    -1,
2454
      30,    -1,    -1,    -1,    16,    17,    18,    19,    20,    21,
2455
      22,    23,    24,    25,    26,    27,    28,    29,    -1,    -1,
2456
      -1,    -1,    52,    53,    -1,    -1,    -1,    57,    58,    59,
2457
      60,    61,    62,    63,    64,    65,    66,    67,    -1,    69,
2458
      -1,    71,    72,    73,    74,    75,    76,    77,    78,    79,
2459
      -1,    -1,    82,    -1,    -1,    85,    86,    87,    88,    89,
2460
      90,    91,    92,    93,    94,    95,    96,    97,    98,    99,
2461
     100,   101,   102,   103,   104,   105,   106,   107,   108,   109,
2462
     110,   111,   112,   113,   114,   115,   116,   117,   118,   119,
2463
     120,   121,   122,   123,   124,    -1,    -1,    -1,   128,   129,
2464
     130,   131,   132,    -1,   134,   135,   136,   137,   138,   139,
2465
     140,   141,   142,   143,   144,   145,   146,   147,   148,   149,
2466
     150,   151,   152,   153,   154,   155,    -1,     3,    -1,     5,
2467
       6,     7,     8,    -1,    -1,   165,    12,    13,    -1,    15,
2468
      -1,   171,   154,   155,    -1,   157,   158,   177,   109,    -1,
2469
     111,   181,   182,   183,   184,    -1,    -1,   169,   119,   120,
2470
     121,   122,   123,   124,   125,   126,   127,   128,    -1,   181,
2471
      -1,    -1,    -1,    -1,    -1,    -1,    52,    53,    -1,    -1,
2472
      -1,    57,    -1,    59,    60,    61,    62,    63,    64,    65,
2473
      66,    67,    -1,    69,    -1,    -1,    -1,    73,    74,    75,
2474
      76,    77,    78,    79,    80,    -1,    82,    -1,    -1,    85,
2475
      86,    87,    88,    -1,    90,    91,    92,    -1,    94,    -1,
2476
      96,    -1,    98,    -1,    -1,   101,    -1,    -1,    -1,   105,
2477
     106,   107,   108,   109,   110,   111,   112,   113,    -1,    -1,
2478
     116,    -1,   118,   119,   120,   121,    -1,    -1,    -1,    -1,
2479
      -1,    -1,   128,    -1,   130,   131,   132,   133,   134,   135,
2480
     136,   137,    -1,    -1,   140,   141,   142,    -1,   144,   145,
2481
     146,   147,   148,   149,   150,   151,   152,   153,   154,   155,
2482
     156,     3,    -1,     5,     6,     7,     8,    -1,    -1,   165,
2483
      12,    13,    -1,    15,    -1,    -1,    -1,    -1,    -1,    -1,
2484
     176,   177,    -1,   179,   180,   181,   182,   183,   184,    -1,
2485
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2486
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2487
      52,    53,    -1,    -1,    -1,    57,    -1,    59,    60,    61,
2488
      62,    63,    64,    65,    66,    67,    -1,    69,    -1,    -1,
2489
      -1,    73,    74,    75,    76,    77,    78,    79,    80,    -1,
2490
      82,    -1,    -1,    85,    86,    87,    88,    -1,    90,    91,
2491
      92,    -1,    94,    -1,    96,    -1,    98,    -1,    -1,   101,
2492
      -1,    -1,    -1,   105,   106,   107,   108,   109,   110,   111,
2493
     112,   113,    -1,    -1,   116,    -1,   118,   119,   120,   121,
2494
      -1,    -1,    -1,    -1,    -1,    -1,   128,    -1,   130,   131,
2495
     132,   133,   134,   135,   136,   137,    -1,    -1,   140,   141,
2496
     142,    -1,   144,   145,   146,   147,   148,   149,   150,   151,
2497
     152,   153,   154,   155,   156,     3,    -1,     5,     6,     7,
2498
       8,    -1,    -1,   165,    12,    13,    -1,    15,    -1,    -1,
2499
      -1,    -1,    -1,    -1,   176,   177,    -1,   179,   180,   181,
2500
     182,   183,   184,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2501
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2502
      -1,    -1,    -1,    -1,    52,    53,    -1,    -1,    -1,    57,
2503
      -1,    59,    60,    61,    62,    63,    64,    65,    66,    67,
2504
      -1,    69,    -1,    -1,    -1,    73,    74,    75,    76,    77,
2505
      78,    79,    80,    -1,    82,    -1,    -1,    85,    86,    87,
2506
      88,    -1,    90,    91,    92,    -1,    94,    -1,    96,    -1,
2507
      98,    -1,    -1,   101,    -1,    -1,    -1,   105,   106,   107,
2508
     108,   109,   110,   111,   112,   113,    -1,    -1,   116,    -1,
2509
     118,   119,   120,   121,    -1,    -1,    -1,    -1,    -1,    -1,
2510
     128,    -1,   130,   131,   132,   133,   134,   135,   136,   137,
2511
      -1,    -1,   140,   141,   142,    -1,   144,   145,   146,   147,
2512
     148,   149,   150,   151,   152,   153,   154,   155,   156,     3,
2513
      -1,     5,     6,     7,     8,    -1,    -1,   165,    12,    13,
2514
      -1,    15,    -1,    -1,   103,    -1,    -1,    -1,   176,   177,
2515
      -1,   179,   111,   181,   182,   183,   184,   116,    -1,    -1,
2516
     119,   120,   121,   122,   123,   124,   125,   126,   127,   128,
2517
     129,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    52,    53,
2518
      -1,    -1,    -1,    57,    -1,    59,    60,    61,    62,    63,
2519
      64,    65,    66,    67,   153,    69,    -1,    -1,    -1,    73,
2520
      74,    75,    76,    77,    78,    79,    80,    -1,    82,    -1,
2521
      -1,    85,    86,    87,    88,    -1,    90,    91,    92,    -1,
2522
      94,   180,    96,    -1,    98,    -1,    -1,   101,    -1,    -1,
2523
      -1,   105,   106,   107,   108,   109,   110,    -1,   112,   113,
2524
      -1,    -1,    -1,    -1,   118,   119,   120,   121,    -1,    -1,
2525
      -1,    -1,    -1,    -1,   128,    -1,   130,   131,   132,   133,
2526
     134,   135,   136,   137,    -1,    -1,    -1,   141,   142,    -1,
2527
     144,   145,   146,   147,   148,   149,   150,   151,   152,   153,
2528
     154,   155,   156,     3,    -1,     5,     6,     7,     8,    -1,
2529
      -1,   165,    12,    13,    -1,    15,    -1,    -1,    -1,    -1,
2530
      -1,    -1,   176,   177,    -1,   179,   180,   181,   182,   183,
2531
     184,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2532
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2533
      -1,    -1,    52,    53,    -1,    -1,    -1,    57,    -1,    59,
2534
      60,    61,    62,    63,    64,    65,    66,    67,    -1,    69,
2535
      -1,    -1,    -1,    73,    74,    75,    76,    77,    78,    79,
2536
      80,    -1,    82,    -1,    -1,    85,    86,    87,    88,    -1,
2537
      90,    91,    92,    -1,    94,    -1,    96,    -1,    98,    -1,
2538
      -1,   101,    -1,    -1,    -1,   105,   106,   107,   108,   109,
2539
     110,    -1,   112,   113,    -1,    -1,    -1,    -1,   118,   119,
2540
     120,   121,    -1,    -1,    -1,    -1,    -1,    -1,   128,    -1,
2541
     130,   131,   132,   133,   134,   135,   136,   137,    -1,    -1,
2542
      -1,   141,   142,    -1,   144,   145,   146,   147,   148,   149,
2543
     150,   151,   152,   153,   154,   155,   156,     3,    -1,     5,
2544
       6,     7,     8,    -1,    -1,   165,    12,    13,    -1,    15,
2545
      -1,    -1,    -1,    -1,    -1,    -1,   176,   177,    -1,   179,
2546
     180,   181,   182,   183,   184,    -1,    -1,    -1,    -1,    -1,
2547
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2548
      -1,    -1,    -1,    -1,    -1,    -1,    52,    53,    -1,    -1,
2549
      -1,    57,    -1,    59,    60,    61,    62,    63,    64,    65,
2550
      66,    67,    -1,    69,    -1,    -1,    -1,    73,    74,    75,
2551
      76,    77,    78,    79,    80,    -1,    82,    -1,    -1,    85,
2552
      86,    87,    88,    89,    90,    91,    92,    -1,    94,    -1,
2553
      96,    -1,    98,    -1,    -1,   101,    -1,    -1,    -1,   105,
2554
     106,   107,   108,   109,   110,    -1,   112,   113,    -1,    -1,
2555
      -1,    -1,   118,   119,   120,   121,    -1,    -1,    -1,    -1,
2556
      -1,    -1,   128,    -1,   130,   131,   132,   133,   134,   135,
2557
     136,   137,    -1,    -1,    -1,   141,   142,    -1,   144,   145,
2558
     146,   147,   148,   149,   150,   151,   152,   153,   154,   155,
2559
     156,     3,    -1,     5,     6,     7,     8,    -1,    -1,   165,
2560
      12,    13,    -1,    15,    -1,    -1,   103,    -1,    -1,    -1,
2561
     176,   177,    -1,   179,   111,   181,   182,   183,   184,   116,
2562
      -1,    -1,   119,   120,   121,   122,   123,   124,   125,   126,
2563
     127,   128,   129,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2564
      52,    53,    -1,    -1,    -1,    57,    -1,    59,    60,    61,
2565
      62,    63,    64,    65,    66,    67,   153,    69,    -1,    -1,
2566
      -1,    73,    74,    75,    76,    77,    78,    79,    80,    -1,
2567
      82,    -1,    -1,    85,    86,    87,    88,    -1,    90,    91,
2568
      92,    93,    94,   180,    96,    -1,    98,    -1,    -1,   101,
2569
      -1,    -1,    -1,   105,   106,   107,   108,   109,   110,    -1,
2570
     112,   113,    -1,    -1,    -1,    -1,   118,   119,   120,   121,
2571
      -1,    -1,    -1,    -1,    -1,    -1,   128,    -1,   130,   131,
2572
     132,   133,   134,   135,   136,   137,    -1,    -1,    -1,   141,
2573
     142,    -1,   144,   145,   146,   147,   148,   149,   150,   151,
2574
     152,   153,   154,   155,   156,     3,    -1,     5,     6,     7,
2575
       8,    -1,    -1,   165,    12,    13,    -1,    15,    -1,    -1,
2576
     103,    -1,    -1,    -1,   176,   177,    -1,   179,   111,   181,
2577
     182,   183,   184,   116,    -1,    -1,   119,   120,   121,   122,
2578
     123,   124,   125,   126,   127,   128,   129,    -1,    -1,    -1,
2579
      -1,    -1,    -1,    -1,    52,    53,    -1,    -1,    -1,    57,
2580
      -1,    59,    60,    61,    62,    63,    64,    65,    66,    67,
2581
     153,    69,    -1,    -1,    -1,    73,    74,    75,    76,    77,
2582
      78,    79,    80,    -1,    82,    -1,    -1,    85,    86,    87,
2583
      88,    -1,    90,    91,    92,    -1,    94,   180,    96,    -1,
2584
      98,    99,    -1,   101,    -1,    -1,    -1,   105,   106,   107,
2585
     108,   109,   110,    -1,   112,   113,    -1,    -1,    -1,    -1,
2586
     118,   119,   120,   121,    -1,    -1,    -1,    -1,    -1,    -1,
2587
     128,    -1,   130,   131,   132,   133,   134,   135,   136,   137,
2588
      -1,    -1,    -1,   141,   142,    -1,   144,   145,   146,   147,
2589
     148,   149,   150,   151,   152,   153,   154,   155,   156,     3,
2590
      -1,     5,     6,     7,     8,    -1,    -1,   165,    12,    13,
2591
      -1,    15,    -1,    -1,   103,    -1,    -1,    -1,   176,   177,
2592
      -1,   179,   111,   181,   182,   183,   184,   116,    -1,    -1,
2593
     119,   120,   121,   122,   123,   124,   125,   126,   127,   128,
2594
     129,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    52,    53,
2595
      -1,    -1,    -1,    57,    -1,    59,    60,    61,    62,    63,
2596
      64,    65,    66,    67,   153,    69,    -1,    -1,    -1,    73,
2597
      74,    75,    76,    77,    78,    79,    80,    -1,    82,    -1,
2598
      -1,    85,    86,    87,    88,    -1,    90,    91,    92,    -1,
2599
      94,   180,    96,    97,    98,    -1,    -1,   101,    -1,    -1,
2600
      -1,   105,   106,   107,   108,   109,   110,    -1,   112,   113,
2601
      -1,    -1,    -1,    -1,   118,   119,   120,   121,    -1,    -1,
2602
      -1,    -1,    -1,    -1,   128,    -1,   130,   131,   132,   133,
2603
     134,   135,   136,   137,    -1,    -1,    -1,   141,   142,    -1,
2604
     144,   145,   146,   147,   148,   149,   150,   151,   152,   153,
2605
     154,   155,   156,     3,    -1,     5,     6,     7,     8,    -1,
2606
      -1,   165,    12,    13,    -1,    15,    -1,    -1,   103,    -1,
2607
      -1,    -1,   176,   177,    -1,   179,   111,   181,   182,   183,
2608
     184,   116,    -1,    -1,   119,   120,   121,   122,   123,   124,
2609
     125,   126,   127,   128,   129,    -1,    -1,    -1,    -1,    -1,
2610
      -1,    -1,    52,    53,    -1,    -1,    -1,    57,    -1,    59,
2611
      60,    61,    62,    63,    64,    65,    66,    67,   153,    69,
2612
      -1,    -1,    -1,    73,    74,    75,    76,    77,    78,    79,
2613
      80,    -1,    82,    -1,    -1,    85,    86,    87,    88,    -1,
2614
      90,    91,    92,    -1,    94,   180,    96,    -1,    98,    -1,
2615
      -1,   101,    -1,    -1,    -1,   105,   106,   107,   108,   109,
2616
     110,    -1,   112,   113,    -1,    -1,    -1,    -1,   118,   119,
2617
     120,   121,    -1,    -1,    -1,    -1,    -1,    -1,   128,    -1,
2618
     130,   131,   132,   133,   134,   135,   136,   137,    -1,    -1,
2619
      -1,   141,   142,    -1,   144,   145,   146,   147,   148,   149,
2620
     150,   151,   152,   153,   154,   155,   156,     3,    -1,     5,
2621
       6,     7,     8,    -1,    -1,   165,    12,    13,    -1,    15,
2622
      -1,    -1,    -1,    -1,    -1,    -1,   176,   177,    -1,   179,
2623
     180,   181,   182,   183,   184,    -1,    -1,    -1,    -1,    -1,
2624
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2625
      -1,    -1,    -1,    -1,    -1,    -1,    52,    53,    -1,    -1,
2626
      -1,    57,    -1,    59,    60,    61,    62,    63,    64,    65,
2627
      66,    67,    -1,    69,    -1,    -1,    -1,    73,    74,    75,
2628
      76,    77,    78,    79,    80,    -1,    82,    -1,    -1,    85,
2629
      86,    87,    88,    -1,    90,    91,    92,    -1,    94,    95,
2630
      96,    -1,    98,    -1,    -1,   101,    -1,    -1,    -1,   105,
2631
     106,   107,   108,   109,   110,    -1,   112,   113,    -1,    -1,
2632
      -1,    -1,   118,   119,   120,   121,    -1,    -1,    -1,    -1,
2633
      -1,    -1,   128,    -1,   130,   131,   132,   133,   134,   135,
2634
     136,   137,    -1,    -1,    -1,   141,   142,    -1,   144,   145,
2635
     146,   147,   148,   149,   150,   151,   152,   153,   154,   155,
2636
     156,     3,    -1,     5,     6,     7,     8,    -1,    -1,   165,
2637
      12,    13,    -1,    15,    -1,    -1,   103,    -1,    -1,    -1,
2638
     176,   177,    -1,   179,   111,   181,   182,   183,   184,   116,
2639
      -1,    -1,   119,   120,   121,   122,   123,   124,   125,   126,
2640
     127,   128,   129,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2641
      52,    53,    -1,    -1,    -1,    57,    -1,    59,    60,    61,
2642
      62,    63,    64,    65,    66,    67,   153,    69,    -1,    -1,
2643
      -1,    73,    74,    75,    76,    77,    78,    79,    80,    -1,
2644
      82,    -1,    -1,    85,    86,    87,    88,    -1,    90,    91,
2645
      92,    -1,    94,   180,    96,    -1,    98,    -1,    -1,   101,
2646
      -1,    -1,    -1,   105,   106,   107,   108,   109,   110,    -1,
2647
     112,   113,    -1,    -1,    -1,    -1,   118,   119,   120,   121,
2648
      -1,    -1,    -1,    -1,    -1,    -1,   128,    -1,   130,   131,
2649
     132,   133,   134,   135,   136,   137,    -1,    -1,    -1,   141,
2650
     142,    -1,   144,   145,   146,   147,   148,   149,   150,   151,
2651
     152,   153,   154,   155,   156,     3,    -1,     5,     6,     7,
2652
       8,    -1,    -1,   165,    12,    13,    -1,    15,    -1,    -1,
2653
      -1,    -1,    -1,    -1,   176,   177,    -1,   179,   180,   181,
2654
     182,   183,   184,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2655
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2656
      -1,    -1,    -1,    -1,    52,    53,    -1,    -1,    -1,    57,
2657
      -1,    59,    60,    61,    62,    63,    64,    65,    66,    67,
2658
      -1,    69,    -1,    -1,    -1,    73,    74,    75,    76,    77,
2659
      78,    79,    80,    -1,    82,    -1,    -1,    85,    86,    87,
2660
      88,    -1,    90,    91,    92,    -1,    94,    -1,    96,    -1,
2661
      98,    -1,    -1,   101,    -1,    -1,    -1,   105,   106,   107,
2662
     108,   109,   110,    -1,   112,   113,    -1,    -1,    -1,    -1,
2663
     118,   119,   120,   121,    -1,    -1,    -1,    -1,    -1,    -1,
2664
     128,    -1,   130,   131,   132,   133,   134,   135,   136,   137,
2665
      -1,    -1,    -1,   141,   142,    -1,   144,   145,   146,   147,
2666
     148,   149,   150,   151,   152,   153,   154,   155,   156,     3,
2667
      -1,     5,     6,     7,     8,    -1,    -1,   165,    12,    13,
2668
      -1,    15,    -1,    -1,    -1,    -1,    -1,    -1,   176,   177,
2669
      -1,   179,   180,   181,   182,   183,   184,    -1,    -1,    -1,
2670
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2671
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    52,    53,
2672
      -1,    -1,    -1,    57,    -1,    59,    60,    61,    62,    63,
2673
      64,    65,    66,    67,    -1,    69,    -1,    -1,    -1,    73,
2674
      74,    75,    76,    77,    78,    79,    80,    -1,    82,    -1,
2675
      -1,    85,    86,    87,    88,    -1,    90,    91,    92,    -1,
2676
      94,    -1,    96,    -1,    98,    -1,    -1,   101,    -1,    -1,
2677
      -1,   105,   106,   107,   108,   109,   110,    -1,   112,   113,
2678
      -1,    -1,    -1,    -1,   118,   119,   120,   121,    -1,    -1,
2679
      -1,    -1,    -1,    -1,   128,    -1,   130,   131,   132,   133,
2680
     134,   135,   136,   137,    -1,    -1,    -1,   141,   142,    -1,
2681
     144,   145,   146,   147,   148,   149,   150,   151,   152,   153,
2682
     154,   155,   156,     3,    -1,     5,     6,     7,     8,    -1,
2683
      -1,   165,    12,    13,    -1,    15,    -1,    -1,    -1,    -1,
2684
      -1,    -1,   176,   177,    -1,   179,   180,   181,   182,   183,
2685
     184,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2686
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2687
      -1,    -1,    52,    53,    -1,    -1,    -1,    57,    -1,    59,
2688
      60,    61,    62,    63,    64,    65,    66,    67,    -1,    69,
2689
      -1,    -1,    -1,    73,    74,    75,    76,    77,    78,    79,
2690
      80,    -1,    82,    -1,    -1,    85,    86,    87,    88,    -1,
2691
      90,    91,    92,    -1,    94,    -1,    96,    -1,    98,    -1,
2692
      -1,   101,    -1,    -1,    -1,   105,   106,   107,   108,   109,
2693
     110,    -1,   112,   113,    -1,    -1,    -1,    -1,   118,   119,
2694
     120,   121,    -1,    -1,    -1,    -1,    -1,    -1,   128,    -1,
2695
     130,   131,   132,   133,   134,   135,   136,   137,    -1,    -1,
2696
      -1,   141,   142,    -1,   144,   145,   146,   147,   148,   149,
2697
     150,   151,   152,   153,   154,   155,   156,     3,    -1,     5,
2698
       6,     7,     8,    -1,    -1,   165,    12,    13,    -1,    15,
2699
      -1,    -1,    -1,    -1,    -1,    -1,   176,   177,    -1,   179,
2700
     180,   181,   182,   183,   184,    -1,    -1,    -1,    -1,    -1,
2701
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2702
      -1,    -1,    -1,    -1,    -1,    -1,    52,    53,    -1,    -1,
2703
      -1,    57,    -1,    59,    60,    61,    62,    63,    64,    65,
2704
      66,    67,    -1,    69,    -1,    -1,    -1,    73,    74,    75,
2705
      76,    77,    78,    79,    80,    -1,    82,    -1,    -1,    85,
2706
      86,    87,    88,    -1,    90,    91,    92,    -1,    94,    -1,
2707
      96,    -1,    98,    -1,    -1,   101,    -1,    -1,    -1,   105,
2708
     106,   107,   108,   109,   110,    -1,   112,   113,    -1,    -1,
2709
      -1,    -1,   118,   119,   120,   121,    -1,    -1,    -1,    -1,
2710
      -1,    -1,   128,    -1,   130,   131,   132,   133,   134,   135,
2711
     136,   137,    -1,    -1,    -1,   141,   142,    -1,   144,   145,
2712
     146,   147,   148,   149,   150,   151,   152,   153,   154,   155,
2713
     156,     3,    -1,     5,     6,     7,     8,    -1,    -1,   165,
2714
      12,    13,    -1,    15,    -1,    -1,    -1,    -1,    -1,    -1,
2715
     176,   177,    -1,   179,   180,   181,   182,   183,   184,    -1,
2716
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2717
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2718
      52,    53,    -1,    -1,    -1,    57,    -1,    59,    60,    61,
2719
      62,    63,    64,    65,    66,    67,    -1,    69,    -1,    -1,
2720
      -1,    73,    74,    75,    76,    77,    78,    79,    80,    -1,
2721
      82,    -1,    -1,    85,    86,    87,    88,    -1,    90,    91,
2722
      92,    -1,    94,    -1,    96,    -1,    98,    -1,    -1,   101,
2723
      -1,    -1,    -1,   105,   106,   107,   108,   109,   110,    -1,
2724
     112,   113,    -1,    -1,    -1,    -1,   118,   119,   120,   121,
2725
      -1,    -1,    -1,    -1,    -1,    -1,   128,    -1,   130,   131,
2726
     132,   133,   134,   135,   136,   137,    -1,    -1,    -1,   141,
2727
     142,    -1,   144,   145,   146,   147,   148,   149,   150,   151,
2728
     152,   153,   154,   155,   156,    -1,    -1,    -1,    -1,    -1,
2729
      -1,    -1,     3,   165,     5,     6,     7,     8,     9,    10,
2730
      11,    12,    13,    -1,   176,   177,    -1,   179,    -1,   181,
2731
     182,   183,   184,   109,   110,    -1,    -1,    -1,    -1,    -1,
2732
      -1,    -1,    -1,   119,   120,   121,    -1,    -1,    -1,    -1,
2733
      -1,    -1,   128,    -1,    -1,    -1,    -1,    -1,   134,   135,
2734
     136,   137,    -1,    -1,    -1,    -1,    -1,    58,    -1,    -1,
2735
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   153,    69,    -1,
2736
      71,    72,    -1,    -1,    75,    -1,    -1,    -1,    79,    -1,
2737
      -1,    -1,    -1,    -1,    85,    86,    87,    88,    89,    90,
2738
      91,    92,    93,    94,    95,    96,    97,    98,    99,   100,
2739
     101,   102,   103,   104,   105,   106,   107,   108,   109,   110,
2740
     111,   112,   113,   114,   115,   116,   117,   118,   119,   120,
2741
     121,   122,   123,   124,    -1,    -1,    -1,   128,   129,   130,
2742
     131,   132,    -1,   134,   135,   136,   137,   138,   139,   140,
2743
     141,   142,   143,   144,   145,   146,   147,   148,   149,   150,
2744
     151,   152,     3,    -1,     5,     6,     7,     8,     9,    10,
2745
      11,    12,    13,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2746
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   179,    -1,
2747
      -1,    -1,    -1,   184,    36,    37,    38,    39,    40,    41,
2748
      42,    43,    44,    45,    46,    47,    48,    49,    50,    51,
2749
      52,    53,    54,    55,    56,    -1,    58,    58,    -1,    -1,
2750
      -1,    -1,    -1,    -1,    -1,    -1,    68,    -1,    69,    -1,
2751
      71,    72,    -1,    -1,    75,    -1,    -1,    -1,    79,    -1,
2752
      -1,    -1,    -1,    -1,    85,    86,    87,    88,    89,    90,
2753
      91,    92,    93,    94,    95,    96,    97,    98,    99,   100,
2754
     101,   102,   103,   104,   105,   106,   107,   108,   109,   110,
2755
     111,   112,   113,   114,   115,   116,   117,   118,   119,   120,
2756
     121,   122,   123,   124,    -1,    -1,    -1,   128,   129,   130,
2757
     131,   132,    -1,   134,   135,   136,   137,   138,   139,   140,
2758
     141,   142,   143,   144,   145,   146,   147,   148,   149,   150,
2759
     151,   152,     3,    -1,     5,     6,     7,     8,    -1,    -1,
2760
      -1,    12,    13,    -1,    15,    -1,    -1,    -1,    -1,    -1,
2761
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   179,    -1,
2762
      31,    -1,    -1,   184,    -1,    -1,    -1,    -1,    -1,    -1,
2763
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2764
      -1,    52,    53,    -1,    -1,    -1,    57,    -1,    59,    60,
2765
      61,    62,    63,    64,    65,    66,    67,    -1,    69,    -1,
2766
      -1,    -1,    73,    74,    75,    76,    77,    78,    79,    80,
2767
      -1,    82,    -1,    -1,    85,    86,    87,    88,    -1,    90,
2768
      91,    92,    -1,    94,    -1,    96,    -1,    98,    -1,    -1,
2769
     101,    -1,    -1,    -1,   105,   106,   107,   108,   109,   110,
2770
      -1,   112,   113,    -1,    -1,    -1,    -1,   118,   119,    -1,
2771
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   128,    -1,   130,
2772
     131,   132,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2773
     141,   142,    -1,   144,   145,   146,   147,   148,   149,   150,
2774
     151,   152,   153,   154,   155,   156,     3,    -1,     5,     6,
2775
       7,     8,    -1,    -1,   165,    12,    13,    -1,    15,    -1,
2776
      -1,    -1,    -1,    -1,    -1,   176,   177,    -1,   179,    -1,
2777
     181,   182,   183,   184,    31,    -1,    -1,    -1,    -1,    -1,
2778
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2779
      -1,    -1,    -1,    -1,    -1,    52,    53,    -1,    -1,    -1,
2780
      57,    -1,    59,    60,    61,    62,    63,    64,    65,    66,
2781
      67,    -1,    69,    -1,    -1,    -1,    73,    74,    75,    76,
2782
      77,    78,    79,    80,    -1,    82,    -1,    -1,    85,    86,
2783
      87,    88,    -1,    90,    91,    92,    -1,    94,    -1,    96,
2784
      -1,    98,    -1,    -1,   101,    -1,    -1,    -1,   105,   106,
2785
     107,   108,   109,   110,    -1,   112,   113,    -1,    -1,    -1,
2786
      -1,   118,   119,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2787
      -1,   128,    -1,   130,   131,   132,    -1,    -1,    -1,    -1,
2788
      -1,    -1,    -1,    -1,   141,   142,    -1,   144,   145,   146,
2789
     147,   148,   149,   150,   151,   152,   153,   154,   155,   156,
2790
       3,    -1,     5,     6,     7,     8,    -1,    -1,   165,    12,
2791
      13,    -1,    15,    -1,    -1,    -1,    -1,    -1,    -1,   176,
2792
     177,    -1,   179,    -1,   181,   182,   183,   184,    31,    -1,
2793
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2794
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    52,
2795
      53,    -1,    -1,    -1,    57,    -1,    59,    60,    61,    62,
2796
      63,    64,    65,    66,    67,    -1,    69,    -1,    -1,    -1,
2797
      73,    74,    75,    76,    77,    78,    79,    80,    -1,    82,
2798
      -1,    -1,    85,    86,    87,    88,    -1,    90,    91,    92,
2799
      -1,    94,    -1,    96,    -1,    98,    -1,    -1,   101,    -1,
2800
      -1,    -1,   105,   106,   107,   108,   109,   110,    -1,   112,
2801
     113,    -1,    -1,    -1,    -1,   118,   119,    -1,    -1,    -1,
2802
      -1,    -1,    -1,    -1,    -1,   128,    -1,   130,   131,   132,
2803
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   141,   142,
2804
      -1,   144,   145,   146,   147,   148,   149,   150,   151,   152,
2805
     153,   154,   155,   156,     3,    -1,     5,     6,     7,     8,
2806
      -1,    -1,   165,    12,    13,    -1,    15,    -1,    -1,    -1,
2807
      -1,    -1,    -1,   176,   177,    -1,   179,    -1,   181,   182,
2808
     183,   184,    31,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2809
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2810
      -1,    -1,    -1,    52,    53,    -1,    -1,    -1,    57,    -1,
2811
      59,    60,    61,    62,    63,    64,    65,    66,    67,    -1,
2812
      69,    -1,    -1,    -1,    73,    74,    75,    76,    77,    78,
2813
      79,    80,    -1,    82,    -1,    -1,    85,    86,    87,    88,
2814
      -1,    90,    91,    92,    -1,    94,    -1,    96,    -1,    98,
2815
      -1,    -1,   101,    -1,    -1,    -1,   105,   106,   107,   108,
2816
     109,   110,    -1,   112,   113,    -1,    -1,    -1,    -1,   118,
2817
     119,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   128,
2818
      -1,   130,   131,   132,    -1,    -1,    -1,    -1,    -1,    -1,
2819
      -1,    -1,   141,   142,    -1,   144,   145,   146,   147,   148,
2820
     149,   150,   151,   152,   153,   154,   155,   156,     3,    -1,
2821
       5,     6,     7,     8,    -1,    -1,   165,    12,    13,    -1,
2822
      15,    -1,    -1,    -1,    -1,    -1,    -1,   176,   177,    -1,
2823
     179,    -1,   181,   182,   183,   184,    31,    -1,    -1,    -1,
2824
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2825
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    52,    53,    -1,
2826
      -1,    -1,    57,    -1,    59,    60,    61,    62,    63,    64,
2827
      65,    66,    67,    -1,    69,    -1,    -1,    -1,    73,    74,
2828
      75,    76,    77,    78,    79,    80,    -1,    82,    -1,    -1,
2829
      85,    86,    87,    88,    -1,    90,    91,    92,    -1,    94,
2830
      -1,    96,    -1,    98,    -1,    -1,   101,    -1,    -1,    -1,
2831
     105,   106,   107,   108,   109,   110,    -1,   112,   113,    -1,
2832
      -1,    -1,    -1,   118,   119,    -1,    -1,    -1,    -1,    -1,
2833
      -1,    -1,    -1,   128,    -1,   130,   131,   132,    -1,    -1,
2834
      -1,    -1,    -1,    -1,    -1,    -1,   141,   142,    -1,   144,
2835
     145,   146,   147,   148,   149,   150,   151,   152,   153,   154,
2836
     155,   156,     3,    -1,     5,     6,     7,     8,    -1,    -1,
2837
     165,    12,    13,    -1,    15,    -1,    -1,    -1,    -1,    -1,
2838
      -1,   176,   177,    -1,   179,    -1,   181,   182,   183,   184,
2839
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2840
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2841
      -1,    52,    53,    -1,    -1,    -1,    57,    -1,    59,    60,
2842
      61,    62,    63,    64,    65,    66,    67,    -1,    69,    -1,
2843
      -1,    -1,    73,    74,    75,    76,    77,    78,    79,    80,
2844
      -1,    82,    -1,    -1,    85,    86,    87,    88,    -1,    90,
2845
      91,    92,    -1,    94,    -1,    96,    -1,    98,    -1,    -1,
2846
     101,    -1,    -1,    -1,   105,   106,   107,   108,   109,   110,
2847
      -1,   112,   113,    -1,    -1,    -1,    -1,   118,   119,    -1,
2848
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   128,    -1,   130,
2849
     131,   132,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2850
     141,   142,    -1,   144,   145,   146,   147,   148,   149,   150,
2851
     151,   152,   153,   154,   155,   156,     3,    -1,     5,     6,
2852
       7,     8,    -1,    -1,   165,    12,    13,    -1,    15,    -1,
2853
      -1,    -1,    -1,    -1,    -1,   176,   177,    -1,   179,    -1,
2854
     181,   182,   183,   184,    -1,    -1,    -1,    -1,    -1,    -1,
2855
      37,    38,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2856
      -1,    -1,    -1,    -1,    -1,    52,    53,    -1,    -1,    -1,
2857
      57,    -1,    59,    60,    61,    62,    63,    64,    65,    66,
2858
      67,    -1,    69,    -1,    -1,    -1,    73,    74,    75,    76,
2859
      77,    78,    79,    -1,    -1,    82,    -1,    -1,    85,    86,
2860
      87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2861
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   105,    -1,
2862
      -1,    -1,   109,   110,    -1,    -1,    -1,    -1,    -1,    -1,
2863
      -1,    -1,   119,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2864
      -1,   128,    -1,    -1,   131,   132,    -1,    -1,    -1,    -1,
2865
      -1,    -1,    -1,    -1,   141,   142,    -1,   144,   145,   146,
2866
     147,   148,   149,   150,   151,   152,   153,   154,   155,    -1,
2867
       3,    -1,     5,     6,     7,     8,    -1,    -1,   165,    12,
2868
      13,    -1,    15,    -1,   171,    -1,    -1,    -1,    -1,    -1,
2869
     177,    -1,    -1,    -1,   181,   182,   183,   184,    -1,    -1,
2870
      -1,    -1,    -1,    -1,    37,    38,    -1,    -1,    -1,    -1,
2871
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    52,
2872
      53,    -1,    -1,    -1,    57,    -1,    59,    60,    61,    62,
2873
      63,    64,    65,    66,    67,    -1,    69,    -1,    -1,    -1,
2874
      73,    74,    75,    76,    77,    78,    79,    -1,    -1,    82,
2875
      -1,    -1,    85,    86,    87,    -1,    -1,    -1,    -1,    -1,
2876
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2877
      -1,    -1,   105,    -1,    -1,    -1,   109,   110,    -1,    -1,
2878
      -1,    -1,    -1,    -1,    -1,    -1,   119,    -1,    -1,    -1,
2879
      -1,    -1,    -1,    -1,    -1,   128,    -1,    -1,   131,   132,
2880
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   141,   142,
2881
      -1,   144,   145,   146,   147,   148,   149,   150,   151,   152,
2882
     153,   154,   155,    -1,     3,    -1,     5,     6,     7,     8,
2883
      -1,    -1,   165,    12,    13,    -1,    15,    -1,    -1,    -1,
2884
      -1,    -1,    -1,    -1,   177,    -1,    -1,    -1,   181,   182,
2885
     183,   184,    -1,    -1,    -1,    -1,    -1,    -1,    37,    38,
2886
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2887
      -1,    -1,    -1,    52,    53,    -1,    -1,    -1,    57,    -1,
2888
      59,    60,    61,    62,    63,    64,    65,    66,    67,    -1,
2889
      69,    -1,    -1,    -1,    73,    74,    75,    76,    77,    78,
2890
      79,    -1,    -1,    82,    -1,    -1,    85,    86,    87,    -1,
2891
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2892
      -1,    -1,    -1,    -1,    -1,    -1,   105,    -1,    -1,    -1,
2893
     109,   110,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2894
     119,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   128,
2895
      -1,    -1,   131,   132,    -1,    -1,    -1,    -1,    -1,    -1,
2896
      -1,    -1,   141,   142,    -1,   144,   145,   146,   147,   148,
2897
     149,   150,   151,   152,   153,   154,   155,    -1,     3,    -1,
2898
       5,     6,     7,     8,    -1,    -1,   165,    12,    13,    -1,
2899
      15,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   177,    -1,
2900
      -1,    -1,   181,   182,   183,   184,    -1,    -1,    -1,    -1,
2901
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2902
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    52,    53,    -1,
2903
      -1,    -1,    57,    -1,    59,    60,    61,    62,    63,    64,
2904
      65,    66,    67,    -1,    69,    -1,    -1,    -1,    73,    74,
2905
      75,    76,    77,    78,    79,    -1,    -1,    82,    -1,    -1,
2906
      85,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2907
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2908
     105,    -1,    -1,    -1,   109,   110,    -1,    -1,    -1,    -1,
2909
      -1,    -1,    -1,    -1,   119,    -1,    -1,    -1,    -1,    -1,
2910
      -1,    -1,    -1,   128,    -1,    -1,   131,   132,    -1,    -1,
2911
      -1,    -1,    -1,    -1,    -1,    -1,   141,   142,    -1,   144,
2912
     145,   146,   147,   148,   149,   150,   151,   152,   153,   154,
2913
     155,   156,     3,    -1,     5,     6,     7,     8,    -1,    -1,
2914
     165,    12,    13,    -1,    15,    -1,    -1,    -1,    -1,    -1,
2915
      -1,    -1,   177,    -1,    -1,    -1,   181,   182,   183,   184,
2916
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2917
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2918
      -1,    52,    53,    -1,    -1,    -1,    57,    -1,    59,    60,
2919
      61,    62,    63,    64,    65,    66,    67,    -1,    69,    -1,
2920
      -1,    -1,    73,    74,    75,    76,    77,    78,    79,    -1,
2921
      -1,    82,    83,    -1,    85,    86,    87,    -1,    -1,    -1,
2922
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2923
      -1,    -1,    -1,    -1,   105,    -1,    -1,    -1,   109,   110,
2924
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   119,    -1,
2925
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   128,    -1,    -1,
2926
     131,   132,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2927
     141,   142,    -1,   144,   145,   146,   147,   148,   149,   150,
2928
     151,   152,   153,   154,   155,    -1,     3,    -1,     5,     6,
2929
       7,     8,    -1,    -1,   165,    12,    13,    -1,    15,    -1,
2930
      -1,    -1,    -1,    -1,    -1,    -1,   177,    -1,    -1,    -1,
2931
     181,   182,   183,   184,    31,    -1,    -1,    -1,    -1,    -1,
2932
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2933
      -1,    -1,    -1,    -1,    -1,    52,    53,    -1,    -1,    -1,
2934
      57,    -1,    59,    60,    61,    62,    63,    64,    65,    66,
2935
      67,    -1,    69,    -1,    -1,    -1,    73,    74,    75,    76,
2936
      77,    78,    79,    -1,    -1,    82,    -1,    -1,    85,    86,
2937
      87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2938
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   105,    -1,
2939
      -1,    -1,   109,   110,    -1,    -1,    -1,    -1,    -1,    -1,
2940
      -1,    -1,   119,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2941
      -1,   128,    -1,    -1,   131,   132,    -1,    -1,    -1,    -1,
2942
      -1,    -1,    -1,    -1,   141,   142,    -1,   144,   145,   146,
2943
     147,   148,   149,   150,   151,   152,   153,   154,   155,    -1,
2944
       3,    -1,     5,     6,     7,     8,    -1,    -1,   165,    12,
2945
      13,    -1,    15,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2946
     177,    -1,    -1,    -1,   181,   182,   183,   184,    31,    -1,
2947
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2948
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    52,
2949
      53,    -1,    -1,    -1,    57,    -1,    59,    60,    61,    62,
2950
      63,    64,    65,    66,    67,    -1,    69,    -1,    -1,    -1,
2951
      73,    74,    75,    76,    77,    78,    79,    -1,    -1,    82,
2952
      -1,    -1,    85,    86,    87,    -1,    -1,    -1,    -1,    -1,
2953
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2954
      -1,    -1,   105,    -1,    -1,    -1,   109,   110,    -1,    -1,
2955
      -1,    -1,    -1,    -1,    -1,    -1,   119,    -1,    -1,    -1,
2956
      -1,    -1,    -1,    -1,    -1,   128,    -1,    -1,   131,   132,
2957
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   141,   142,
2958
      -1,   144,   145,   146,   147,   148,   149,   150,   151,   152,
2959
     153,   154,   155,    -1,    -1,     3,    -1,     5,     6,     7,
2960
       8,    -1,   165,    -1,    12,    13,    -1,    15,    -1,    -1,
2961
      -1,    -1,    -1,    -1,   177,    -1,    -1,    -1,   181,   182,
2962
     183,   184,    30,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2963
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2964
      -1,    -1,    -1,    -1,    52,    53,    -1,    -1,    -1,    57,
2965
      -1,    59,    60,    61,    62,    63,    64,    65,    66,    67,
2966
      -1,    69,    -1,    -1,    -1,    73,    74,    75,    76,    77,
2967
      78,    79,    -1,    -1,    82,    -1,    -1,    85,    86,    87,
2968
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2969
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   105,    -1,    -1,
2970
      -1,   109,   110,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2971
      -1,   119,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2972
     128,    -1,    -1,   131,   132,    -1,    -1,    -1,    -1,    -1,
2973
      -1,    -1,    -1,   141,   142,    -1,   144,   145,   146,   147,
2974
     148,   149,   150,   151,   152,   153,   154,   155,    -1,     3,
2975
      -1,     5,     6,     7,     8,    -1,    -1,   165,    12,    13,
2976
      -1,    15,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   177,
2977
      -1,    -1,    -1,   181,   182,   183,   184,    -1,    -1,    -1,
2978
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2979
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    52,    53,
2980
      -1,    -1,    -1,    57,    -1,    59,    60,    61,    62,    63,
2981
      64,    65,    66,    67,    -1,    69,    -1,    -1,    -1,    73,
2982
      74,    75,    76,    77,    78,    79,    -1,    -1,    82,    -1,
2983
      -1,    85,    86,    87,    -1,    -1,    -1,    -1,    -1,    -1,
2984
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2985
      -1,   105,    -1,    -1,    -1,   109,   110,    -1,    -1,    -1,
2986
      -1,    -1,    -1,    -1,    -1,   119,    -1,    -1,    -1,    -1,
2987
      -1,    -1,    -1,    -1,   128,    -1,    -1,   131,   132,    -1,
2988
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   141,   142,    -1,
2989
     144,   145,   146,   147,   148,   149,   150,   151,   152,   153,
2990
     154,   155,   156,     3,    -1,     5,     6,     7,     8,    -1,
2991
      -1,   165,    12,    13,    -1,    15,    -1,    -1,    -1,    -1,
2992
      -1,    -1,    -1,   177,    -1,    -1,    -1,   181,   182,   183,
2993
     184,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2994
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2995
      -1,    -1,    52,    53,    -1,    -1,    -1,    57,    -1,    59,
2996
      60,    61,    62,    63,    64,    65,    66,    67,    -1,    69,
2997
      -1,    -1,    -1,    73,    74,    75,    76,    77,    78,    79,
2998
      -1,    -1,    82,    -1,    -1,    85,    86,    87,    -1,    -1,
2999
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3000
      -1,    -1,    -1,    -1,   104,   105,    -1,    -1,    -1,   109,
3001
     110,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   119,
3002
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   128,    -1,
3003
      -1,   131,   132,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3004
      -1,   141,   142,    -1,   144,   145,   146,   147,   148,   149,
3005
     150,   151,   152,   153,   154,   155,    -1,     3,    -1,     5,
3006
       6,     7,     8,    -1,    -1,   165,    12,    13,    -1,    15,
3007
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   177,    -1,    -1,
3008
      -1,   181,   182,   183,   184,    -1,    -1,    -1,    -1,    -1,
3009
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3010
      -1,    -1,    -1,    -1,    -1,    -1,    52,    53,    -1,    -1,
3011
      -1,    57,    -1,    59,    60,    61,    62,    63,    64,    65,
3012
      66,    67,    -1,    69,    -1,    -1,    -1,    73,    74,    75,
3013
      76,    77,    78,    79,    -1,    -1,    82,    -1,    -1,    85,
3014
      86,    87,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3015
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   105,
3016
      -1,    -1,    -1,   109,   110,    -1,    -1,    -1,    -1,    -1,
3017
      -1,    -1,    -1,   119,    -1,    -1,    -1,    -1,    -1,    -1,
3018
      -1,    -1,   128,    -1,    -1,   131,   132,    -1,    -1,    -1,
3019
      -1,    -1,    -1,    -1,    -1,   141,   142,    -1,   144,   145,
3020
     146,   147,   148,   149,   150,   151,   152,   153,   154,   155,
3021
      -1,     3,    -1,     5,     6,     7,     8,    -1,    -1,   165,
3022
      12,    13,    -1,    15,    -1,    -1,    -1,    -1,    -1,    -1,
3023
      -1,   177,    -1,    -1,    -1,   181,   182,   183,   184,    -1,
3024
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3025
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3026
      52,    53,    -1,    -1,    -1,    57,    -1,    59,    60,    61,
3027
      62,    63,    64,    65,    66,    67,    -1,    69,    -1,    -1,
3028
      -1,    73,    74,    75,    76,    77,    78,    79,    -1,    -1,
3029
      82,    -1,    -1,    85,    86,    87,    -1,    -1,    -1,    -1,
3030
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3031
      -1,    -1,    -1,   105,    -1,    -1,    -1,   109,   110,    -1,
3032
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   119,    -1,    -1,
3033
      -1,    -1,    -1,    -1,    -1,    -1,   128,    -1,    -1,   131,
3034
     132,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   141,
3035
     142,    -1,   144,   145,   146,   147,   148,   149,   150,   151,
3036
     152,   153,   154,   155,    -1,    -1,    -1,    -1,    -1,    -1,
3037
      -1,    -1,     3,   165,     5,     6,     7,     8,     9,    10,
3038
      11,    12,    13,    -1,    -1,   177,    -1,    -1,    -1,   181,
3039
     182,   183,   184,    30,    -1,    32,    33,    34,    35,    36,
3040
      37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
3041
      47,    48,    49,    50,    51,    52,    53,    54,    55,    56,
3042
      -1,    58,    -1,    -1,    -1,    -1,    -1,    58,    -1,    -1,
3043
      -1,    68,    -1,    -1,    -1,    -1,    -1,    -1,    69,    -1,
3044
      71,    72,    -1,    -1,    75,    76,    77,    78,    -1,    -1,
3045
      -1,    -1,    -1,    -1,    85,    86,    87,    88,    89,    90,
3046
      91,    92,    93,    94,    95,    96,    97,    98,    99,   100,
3047
     101,   102,   103,   104,   105,   106,   107,   108,   109,   110,
3048
     111,   112,   113,   114,   115,   116,   117,   118,   119,   120,
3049
     121,   122,   123,   124,    -1,    -1,    -1,   128,   129,   130,
3050
     131,   132,    -1,   134,   135,   136,   137,   138,   139,   140,
3051
     141,   142,   143,   144,   145,   146,   147,   148,   149,   150,
3052
     151,   152,     3,    -1,     5,     6,     7,     8,     9,    10,
3053
      11,    12,    13,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3054
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   180,
3055
      32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
3056
      42,    43,    44,    45,    46,    47,    48,    49,    50,    51,
3057
      52,    53,    54,    55,    56,    -1,    58,    58,    -1,    -1,
3058
      -1,    -1,    -1,    -1,    -1,    -1,    68,    -1,    69,    -1,
3059
      71,    72,    -1,    -1,    75,    76,    77,    78,    -1,    -1,
3060
      -1,    -1,    -1,    -1,    85,    86,    87,    88,    89,    90,
3061
      91,    92,    93,    94,    95,    96,    97,    98,    99,   100,
3062
     101,   102,   103,   104,   105,   106,   107,   108,   109,   110,
3063
     111,   112,   113,   114,   115,   116,   117,   118,   119,   120,
3064
     121,   122,   123,   124,    -1,    -1,    -1,   128,   129,   130,
3065
     131,   132,    -1,   134,   135,   136,   137,   138,   139,   140,
3066
     141,   142,   143,   144,   145,   146,   147,   148,   149,   150,
3067
     151,   152,    -1,     3,    -1,     5,     6,     7,     8,     9,
3068
      10,    11,    12,    13,    -1,    -1,    -1,    -1,    -1,    -1,
3069
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   180,
3070
      30,    34,    35,    36,    37,    38,    39,    40,    41,    42,
3071
      43,    44,    45,    46,    47,    48,    49,    50,    51,    52,
3072
      53,    54,    55,    56,    -1,    58,    -1,    -1,    58,    -1,
3073
      -1,    -1,    -1,    -1,    -1,    68,    -1,    -1,    -1,    69,
3074
      -1,    71,    72,    -1,    -1,    75,    76,    77,    78,    -1,
3075
      -1,    -1,    -1,    -1,    -1,    85,    86,    87,    88,    89,
3076
      90,    91,    92,    93,    94,    95,    96,    97,    98,    99,
3077
     100,   101,   102,   103,   104,   105,   106,   107,   108,   109,
3078
     110,   111,   112,   113,   114,   115,   116,   117,   118,   119,
3079
     120,   121,   122,   123,   124,    -1,    -1,    -1,   128,   129,
3080
     130,   131,   132,    -1,   134,   135,   136,   137,   138,   139,
3081
     140,   141,   142,   143,   144,   145,   146,   147,   148,   149,
3082
     150,   151,   152,    -1,    -1,     9,    10,    11,    -1,    -1,
3083
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3084
      -1,    -1,    -1,    -1,    -1,    -1,    30,   177,    32,    33,
3085
      34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
3086
      44,    45,    46,    47,    48,    49,    50,    51,    52,    53,
3087
      54,    55,    56,    -1,    58,     9,    10,    11,    -1,    -1,
3088
      -1,    -1,    -1,    -1,    68,    -1,    -1,    -1,    -1,    -1,
3089
      -1,    -1,    -1,    -1,    -1,    -1,    30,    -1,    32,    33,
3090
      34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
3091
      44,    45,    46,    47,    48,    49,    50,    51,    52,    53,
3092
      54,    55,    56,    -1,    58,     9,    10,    11,    -1,    -1,
3093
      -1,    -1,    -1,    -1,    68,    -1,    -1,    -1,    -1,    -1,
3094
      -1,    -1,    -1,    -1,    -1,    -1,    30,    -1,    32,    33,
3095
      34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
3096
      44,    45,    46,    47,    48,    49,    50,    51,    52,    53,
3097
      54,    55,    56,    -1,    58,    -1,     9,    10,    11,    -1,
3098
      -1,    -1,    -1,    -1,    68,    -1,    -1,    -1,    -1,    -1,
3099
      -1,    -1,    -1,    -1,    -1,    -1,   180,    30,    -1,    32,
3100
      33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
3101
      43,    44,    45,    46,    47,    48,    49,    50,    51,    52,
3102
      53,    54,    55,    56,    -1,    58,     9,    10,    11,    -1,
3103
      -1,    -1,    -1,    -1,    -1,    68,    -1,    -1,    -1,    -1,
3104
      -1,    -1,    -1,    -1,    -1,    -1,   180,    30,    -1,    32,
3105
      33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
3106
      43,    44,    45,    46,    47,    48,    49,    50,    51,    52,
3107
      53,    54,    55,    56,    -1,    58,     9,    10,    11,    -1,
3108
      -1,    -1,    -1,    -1,    -1,    68,    -1,    -1,    -1,    -1,
3109
      -1,    -1,    -1,    -1,    -1,    -1,   180,    30,    -1,    32,
3110
      33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
3111
      43,    44,    45,    46,    47,    48,    49,    50,    51,    52,
3112
      53,    54,    55,    56,    -1,    58,    -1,     9,    10,    11,
3113
      -1,    -1,    -1,    -1,    -1,    68,    -1,    -1,    -1,    -1,
3114
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   180,    30,    -1,
3115
      32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
3116
      42,    43,    44,    45,    46,    47,    48,    49,    50,    51,
3117
      52,    53,    54,    55,    56,    -1,    58,     9,    10,    11,
3118
      -1,    -1,    -1,    -1,    -1,    -1,    68,    -1,    -1,    -1,
3119
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   180,    30,    -1,
3120
      32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
3121
      42,    43,    44,    45,    46,    47,    48,    49,    50,    51,
3122
      52,    53,    54,    55,    56,    -1,    58,     9,    10,    11,
3123
      -1,    -1,    -1,    -1,    -1,    -1,    68,    -1,    -1,    -1,
3124
      -1,   174,    -1,    -1,    -1,   178,    -1,    -1,    30,    -1,
3125
      32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
3126
      42,    43,    44,    45,    46,    47,    48,    49,    50,    51,
3127
      52,    53,    54,    55,    56,    -1,    58,     9,    10,    11,
3128
      -1,    -1,    -1,    -1,    -1,    -1,    68,    -1,    -1,    -1,
3129
      -1,    -1,    -1,    -1,    -1,    -1,   178,    -1,    30,    -1,
3130
      32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
3131
      42,    43,    44,    45,    46,    47,    48,    49,    50,    51,
3132
      52,    53,    54,    55,    56,    -1,    58,     9,    10,    11,
3133
      -1,    -1,    -1,    -1,    -1,    -1,    68,    -1,    -1,    -1,
3134
      -1,    -1,    -1,    -1,    -1,    -1,   178,    -1,    30,    -1,
3135
      32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
3136
      42,    43,    44,    45,    46,    47,    48,    49,    50,    51,
3137
      52,    53,    54,    55,    56,    -1,    58,     9,    10,    11,
3138
      -1,    -1,    -1,    -1,    -1,    -1,    68,    -1,    -1,    -1,
3139
      -1,    -1,    -1,    -1,    -1,    -1,   178,    -1,    30,    -1,
3140
      32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
3141
      42,    43,    44,    45,    46,    47,    48,    49,    50,    51,
3142
      52,    53,    54,    55,    56,    -1,    58,     9,    10,    11,
3143
      -1,    -1,    -1,    -1,    -1,    -1,    68,    -1,    -1,    -1,
3144
      -1,    -1,    -1,    -1,    -1,    -1,   178,    -1,    30,    -1,
3145
      32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
3146
      42,    43,    44,    45,    46,    47,    48,    49,    50,    51,
3147
      52,    53,    54,    55,    56,    -1,    58,     9,    10,    11,
3148
      -1,    -1,    -1,    -1,    -1,    -1,    68,    -1,    -1,    -1,
3149
      -1,    -1,    -1,    -1,    -1,    -1,   178,    -1,    30,    -1,
3150
      32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
3151
      42,    43,    44,    45,    46,    47,    48,    49,    50,    51,
3152
      52,    53,    54,    55,    56,    -1,    58,     9,    10,    11,
3153
      -1,    -1,    -1,    -1,    -1,    -1,    68,    -1,    -1,    -1,
3154
      -1,    -1,    -1,    -1,    -1,    -1,   178,    -1,    30,    -1,
3155
      32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
3156
      42,    43,    44,    45,    46,    47,    48,    49,    50,    51,
3157
      52,    53,    54,    55,    56,    -1,    58,     9,    10,    11,
3158
      -1,    -1,    -1,    -1,    -1,    -1,    68,    -1,    -1,    -1,
3159
      -1,    -1,    -1,    -1,    -1,    -1,   178,    -1,    30,    -1,
3160
      32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
3161
      42,    43,    44,    45,    46,    47,    48,    49,    50,    51,
3162
      52,    53,    54,    55,    56,    -1,    58,     9,    10,    11,
3163
      -1,    -1,    -1,    -1,    -1,    -1,    68,    -1,    -1,    -1,
3164
      -1,    -1,    -1,    -1,    -1,    -1,   178,    -1,    30,    -1,
3165
      32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
3166
      42,    43,    44,    45,    46,    47,    48,    49,    50,    51,
3167
      52,    53,    54,    55,    56,    -1,    58,     9,    10,    11,
3168
      -1,    -1,    -1,    -1,    -1,    -1,    68,    -1,    -1,    -1,
3169
      -1,    -1,    -1,    -1,    -1,    -1,   178,    -1,    30,    -1,
3170
      32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
3171
      42,    43,    44,    45,    46,    47,    48,    49,    50,    51,
3172
      52,    53,    54,    55,    56,    -1,    58,     9,    10,    11,
3173
      -1,    -1,    -1,    -1,    -1,    -1,    68,    -1,    -1,    -1,
3174
      -1,    -1,    -1,    -1,    -1,    -1,   178,    -1,    30,    31,
3175
      32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
3176
      42,    43,    44,    45,    46,    47,    48,    49,    50,    51,
3177
      52,    53,    54,    55,    56,    -1,    58,     9,    10,    11,
3178
      -1,    -1,    -1,    -1,    -1,    -1,    68,    -1,    -1,    -1,
3179
      -1,    -1,    -1,    -1,    -1,    -1,   178,    -1,    30,    -1,
3180
      32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
3181
      42,    43,    44,    45,    46,    47,    48,    49,    50,    51,
3182
      52,    53,    54,    55,    56,    -1,    58,     9,    10,    11,
3183
      -1,    -1,    -1,    -1,    -1,    -1,    68,    -1,    -1,    -1,
3184
      -1,    -1,    -1,    -1,    -1,    -1,   178,    -1,    30,    -1,
3185
      32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
3186
      42,    43,    44,    45,    46,    47,    48,    49,    50,    51,
3187
      52,    53,    54,    55,    56,    -1,    58,     9,    10,    11,
3188
      -1,    -1,    -1,    -1,    -1,    -1,    68,    -1,    -1,    -1,
3189
      -1,    -1,    -1,    -1,   176,    -1,    -1,    -1,    30,    -1,
3190
      32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
3191
      42,    43,    44,    45,    46,    47,    48,    49,    50,    51,
3192
      52,    53,    54,    55,    56,    -1,    58,     9,    10,    11,
3193
      -1,    -1,    -1,    -1,    -1,    -1,    68,    -1,    -1,    -1,
3194
      -1,    -1,    -1,    -1,   176,    -1,    -1,    -1,    30,    -1,
3195
      32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
3196
      42,    43,    44,    45,    46,    47,    48,    49,    50,    51,
3197
      52,    53,    54,    55,    56,    -1,    58,     9,    10,    11,
3198
      -1,    -1,    -1,    -1,    -1,    -1,    68,    -1,    -1,    -1,
3199
      -1,    -1,    -1,    -1,   176,    -1,    -1,    -1,    30,    -1,
3200
      32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
3201
      42,    43,    44,    45,    46,    47,    48,    49,    50,    51,
3202
      52,    53,    54,    55,    56,    -1,    58,     9,    10,    11,
3203
      -1,    -1,    -1,    -1,    -1,    -1,    68,    -1,    -1,    -1,
3204
      -1,    -1,    37,    38,   176,    -1,    -1,    -1,    30,    -1,
3205
      32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
3206
      42,    43,    44,    45,    46,    47,    48,    49,    50,    51,
3207
      52,    53,    54,    55,    56,    -1,    58,    -1,    -1,    -1,
3208
      75,    76,    77,    78,    79,    -1,    68,    82,    -1,    -1,
3209
      -1,    86,    -1,   175,    -1,    -1,    -1,    -1,    -1,    -1,
3210
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3211
      -1,     3,    -1,     5,     6,     7,     8,     9,    10,    11,
3212
      12,    13,    -1,    -1,   119,    -1,    -1,    -1,    -1,    -1,
3213
      -1,    -1,    -1,   128,    -1,    -1,    -1,    -1,    -1,    -1,
3214
      -1,    -1,   174,    -1,    -1,    -1,   141,   142,    -1,   144,
3215
     145,   146,   147,   148,   149,   150,   151,   152,    -1,    -1,
3216
      -1,    -1,    -1,    -1,    -1,    -1,    58,    -1,    -1,    -1,
3217
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    69,    -1,    71,
3218
      72,    -1,   177,    75,    -1,    -1,   181,    -1,   183,   184,
3219
      -1,    -1,   174,    85,    86,    87,    88,    89,    90,    91,
3220
      92,    93,    94,    95,    96,    97,    98,    99,   100,   101,
3221
     102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
3222
     112,   113,   114,   115,   116,   117,   118,   119,   120,   121,
3223
     122,   123,   124,   125,   126,   127,   128,   129,   130,   131,
3224
     132,    -1,   134,   135,   136,   137,   138,   139,   140,   141,
3225
     142,   143,   144,   145,   146,   147,   148,   149,   150,   151,
3226
     152,     3,    11,     5,     6,     7,     8,     9,    10,    11,
3227
      12,    13,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3228
      -1,    30,    -1,    32,    33,    34,    35,    36,    37,    38,
3229
      39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
3230
      49,    50,    51,    52,    53,    54,    55,    56,    -1,    58,
3231
      -1,    -1,    -1,    -1,    -1,    -1,    58,    -1,    -1,    68,
3232
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    69,    -1,    71,
3233
      72,    -1,    -1,    75,    -1,    -1,    78,    -1,    -1,    -1,
3234
      -1,    -1,    -1,    85,    86,    87,    88,    89,    90,    91,
3235
      92,    93,    94,    95,    96,    97,    98,    99,   100,   101,
3236
     102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
3237
     112,   113,   114,   115,   116,   117,   118,   119,   120,   121,
3238
     122,   123,   124,    -1,    -1,    -1,   128,   129,   130,   131,
3239
     132,    -1,   134,   135,   136,   137,   138,   139,   140,   141,
3240
     142,   143,   144,   145,   146,   147,   148,   149,   150,   151,
3241
     152,     3,    -1,     5,     6,     7,     8,     9,    10,    11,
3242
      12,    13,    35,    36,    37,    38,    39,    40,    41,    42,
3243
      43,    44,    45,    46,    47,    48,    49,    50,    51,    52,
3244
      53,    54,    55,    56,    -1,    58,    -1,    -1,    -1,    -1,
3245
      -1,    -1,    -1,    -1,    -1,    68,    -1,    -1,    -1,    -1,
3246
      -1,    -1,    -1,    -1,    -1,    -1,    58,    -1,    -1,    -1,
3247
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    69,    -1,    71,
3248
      72,    -1,    -1,    75,    -1,    -1,    -1,    -1,    -1,    -1,
3249
      -1,    -1,    -1,    85,    86,    87,    88,    89,    90,    91,
3250
      92,    93,    94,    95,    96,    97,    98,    99,   100,   101,
3251
     102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
3252
     112,   113,   114,   115,   116,   117,   118,   119,   120,   121,
3253
     122,   123,   124,    -1,    -1,    -1,   128,   129,   130,   131,
3254
     132,    -1,   134,   135,   136,   137,   138,   139,   140,   141,
3255
     142,   143,   144,   145,   146,   147,   148,   149,   150,   151,
3256
     152,     3,    -1,     5,     6,     7,     8,     9,    10,    11,
3257
      12,    13,    37,    38,    39,    40,    41,    42,    43,    44,
3258
      45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
3259
      55,    56,    -1,    58,    -1,    -1,    -1,    -1,    -1,    -1,
3260
      -1,    -1,    -1,    68,    -1,    -1,    -1,    -1,    -1,    -1,
3261
      -1,    -1,    -1,    -1,    -1,    -1,    58,    -1,    -1,    -1,
3262
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    69,    -1,    71,
3263
      72,    -1,    -1,    75,    -1,    -1,    -1,    -1,    -1,    -1,
3264
      -1,    -1,    -1,    85,    86,    87,    88,    89,    90,    91,
3265
      92,    93,    94,    95,    96,    97,    98,    99,   100,   101,
3266
     102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
3267
     112,   113,   114,   115,   116,   117,   118,   119,   120,   121,
3268
     122,   123,   124,    -1,    -1,    -1,   128,   129,   130,   131,
3269
     132,    -1,   134,   135,   136,   137,   138,   139,   140,   141,
3270
     142,   143,   144,   145,   146,   147,   148,   149,   150,   151,
3271
     152,    75,    76,    77,    78,    79,    -1,    -1,    82,    -1,
3272
      -1,    -1,    86,    39,    40,    41,    42,    43,    44,    45,
3273
      46,    47,    48,    49,    50,    51,    52,    53,    54,    55,
3274
      56,    -1,    58,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3275
      -1,    -1,    68,    -1,    -1,   119,    -1,    -1,    -1,    -1,
3276
      -1,    -1,    -1,    -1,   128,    -1,    -1,    -1,    -1,    -1,
3277
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   142,    -1,
3278
     144,   145,   146,   147,   148,   149,   150,   151,   152,    -1,
3279
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3280
       9,    10,    11,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3281
      -1,    -1,    -1,   177,    -1,    -1,    -1,   181,    -1,   183,
3282
     184,    30,    -1,    32,    33,    34,    35,    36,    37,    38,
3283
      39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
3284
      49,    50,    51,    52,    53,    54,    55,    56,    -1,    58,
3285
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    68,
3286
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     9,
3287
      10,    11,    -1,    -1,    14,    -1,    -1,    -1,    -1,    -1,
3288
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3289
      30,   100,    32,    33,    34,    35,    36,    37,    38,    39,
3290
      40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
3291
      50,    51,    52,    53,    54,    55,    56,    -1,    58,     9,
3292
      10,    11,    -1,    -1,    -1,    -1,    -1,    -1,    68,    -1,
3293
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3294
      30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
3295
      40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
3296
      50,    51,    52,    53,    54,    55,    56,    -1,    58,     9,
3297
      10,    11,    -1,    -1,    -1,    -1,    -1,    -1,    68,    -1,
3298
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3299
      30,    -1,    32,    33,    34,    35,    36,    37,    38,    39,
3300
      40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
3301
      50,    51,    52,    53,    54,    55,    56,    -1,    58,    10,
3302
      11,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    68,    -1,
3303
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    30,
3304
      -1,    32,    33,    34,    35,    36,    37,    38,    39,    40,
3305
      41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
3306
      51,    52,    53,    54,    55,    56,    14,    58,    -1,    -1,
3307
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    68,    -1,    -1,
3308
      -1,    -1,    30,    -1,    32,    33,    34,    35,    36,    37,
3309
      38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
3310
      48,    49,    50,    51,    52,    53,    54,    55,    56,    -1,
3311
      58,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3312
      68,    39,    40,    41,    42,    43,    44,    45,    46,    47,
3313
      48,    49,    50,    51,    52,    53,    54,    55,    56,    -1,
3314
      58,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
3315
      68
3316
};
3317
3318
  /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
3319
     symbol of state STATE-NUM.  */
3320
static const yytype_int16 yystos[] =
3321
{
3322
       0,   186,   191,     0,     3,     5,     6,     7,     8,    12,
3323
      13,    15,    52,    53,    57,    59,    60,    61,    62,    63,
3324
      64,    65,    66,    67,    69,    73,    74,    75,    76,    77,
3325
      78,    79,    80,    82,    85,    86,    87,    88,    90,    91,
3326
      92,    94,    96,    98,   101,   105,   106,   107,   108,   109,
3327
     110,   111,   112,   113,   116,   118,   119,   120,   121,   128,
3328
     130,   131,   132,   133,   134,   135,   136,   137,   140,   141,
3329
     142,   144,   145,   146,   147,   148,   149,   150,   151,   152,
3330
     153,   154,   155,   156,   165,   176,   177,   179,   181,   182,
3331
     183,   184,   195,   198,   199,   200,   201,   202,   218,   227,
3332
     230,   233,   236,   237,   239,   241,   255,   261,   262,   263,
3333
     264,   329,   330,   331,   332,   333,   334,   342,   344,   348,
3334
     349,   350,   351,   353,   354,   355,   356,   357,   358,   359,
3335
     360,   371,    75,   119,   128,   199,   331,   334,   331,   331,
3336
     331,   331,   331,   331,   331,   331,   331,   331,   331,   331,
3337
     331,   331,   331,   331,   331,   331,   331,   177,   284,   331,
3338
      31,   177,   119,   128,   177,   195,   199,   234,   235,   236,
3339
     327,   344,   345,   359,   361,   177,   282,   347,   177,   322,
3340
     323,   331,   218,   177,   177,   177,   177,   177,   177,   331,
3341
     352,   352,    75,    75,   215,   321,   352,   179,    75,    76,
3342
      78,   109,   111,   193,   194,   205,   207,   211,   214,   288,
3343
     289,   359,    79,   290,   291,   332,   282,   177,   177,   177,
3344
     177,   232,   238,   240,   242,     3,     5,     6,     7,     8,
3345
       9,    10,    11,    12,    13,    58,    69,    71,    72,    75,
3346
      78,    85,    86,    87,    88,    89,    90,    91,    92,    93,
3347
      94,    95,    96,    97,    98,    99,   100,   101,   102,   103,
3348
     104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
3349
     114,   115,   116,   117,   118,   119,   120,   121,   122,   123,
3350
     124,   128,   129,   130,   131,   132,   134,   135,   136,   137,
3351
     138,   139,   140,   141,   142,   143,   144,   145,   146,   147,
3352
     148,   149,   150,   151,   152,   187,   188,   190,   192,   204,
3353
     177,   177,   335,    86,   177,   181,   329,   348,   350,   351,
3354
     358,   358,   331,    79,    81,   166,   167,   168,   368,   369,
3355
     331,   216,    37,    38,   141,   171,   189,   331,   364,   365,
3356
     366,   367,    81,   346,   368,    81,   368,   179,   359,   282,
3357
     119,   198,   201,   332,   134,   236,    71,    72,    71,    72,
3358
      89,     9,    10,    11,    30,    32,    33,    34,    35,    36,
3359
      37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
3360
      47,    48,    49,    50,    51,    52,    53,    54,    55,    56,
3361
      58,    68,   176,   189,   338,   338,   169,   169,   157,   158,
3362
     181,   343,    16,    17,    18,    19,    20,    21,    22,    23,
3363
      24,    25,    26,    27,    28,    29,   154,   155,   338,    14,
3364
       3,     5,     6,     7,     8,    12,    13,    30,    69,    75,
3365
      85,    86,    87,   105,   109,   110,   119,   128,   131,   132,
3366
     141,   142,   144,   145,   146,   147,   148,   149,   150,   151,
3367
     152,   171,   178,   190,   285,   286,   331,   331,   331,   327,
3368
     236,   134,   169,   282,   157,   158,   169,   181,   178,   283,
3369
     286,   287,   331,   331,   174,   176,    92,   331,   156,   325,
3370
     326,   331,   331,   215,   331,   331,   176,   176,   176,    16,
3371
     174,   176,   176,   216,   100,   170,   194,   206,   211,   176,
3372
     174,   176,   174,   176,    16,   174,   176,   224,   225,   358,
3373
     331,   372,   373,   331,   178,    75,    75,    75,    75,   176,
3374
     203,   179,   364,   364,   196,   197,   344,   345,   331,   364,
3375
     176,   157,   158,   181,   166,   369,    83,   331,   358,    81,
3376
     166,   369,   178,   133,   180,   199,   200,   217,   218,   177,
3377
     331,   358,    14,   175,   174,   182,   183,   331,   332,   231,
3378
     177,   218,   177,    31,   176,   331,   331,   331,    31,   331,
3379
     331,   331,   331,   331,   331,   331,   331,   331,   331,   331,
3380
     331,   331,   331,   331,   331,   331,   331,   331,   331,   331,
3381
     331,   331,   331,   331,   331,   345,   331,   335,    75,   128,
3382
     226,   335,   179,   190,   359,   362,   179,   190,   359,   362,
3383
      75,   179,   359,   363,   363,   352,   282,   189,   331,   331,
3384
     331,   331,   331,   331,   331,   331,   331,   331,   331,   331,
3385
     331,   331,   331,   331,    31,   174,   208,   174,   178,   178,
3386
     328,   359,   363,   363,   359,   352,   174,   208,   178,   323,
3387
     177,   178,   331,   176,   174,   100,   178,   178,   178,   331,
3388
     321,   180,    75,   179,   170,   176,   176,   194,   214,   289,
3389
     331,   291,   174,   208,   174,   208,   178,   176,   138,   246,
3390
     335,   138,   247,    31,   243,   179,   191,   178,   178,   174,
3391
     208,   282,   178,   175,    75,    75,    53,    75,    79,    84,
3392
     370,   180,   181,   180,   180,   177,   200,   364,   141,   189,
3393
     331,    16,   365,   180,    75,   331,   331,   216,   331,    31,
3394
     177,   335,   177,   331,   282,   331,   282,   331,   282,   282,
3395
     175,   358,    30,   331,   287,   178,   178,   287,   347,   175,
3396
     287,   178,    31,   218,   331,    31,   218,   260,   324,   326,
3397
     331,   156,   331,   141,   181,   189,   249,   358,   219,    31,
3398
     179,   253,   179,   335,   220,   193,   205,   209,   212,   213,
3399
     179,   225,   178,   373,   178,   344,   139,   248,   179,   295,
3400
     344,   335,    30,   119,   142,   143,   177,   195,   271,   272,
3401
     273,   274,   275,   277,   248,   191,   180,    16,   196,   175,
3402
      84,   175,   331,   178,   178,   177,   358,   331,   246,   178,
3403
     178,    89,   331,   119,   120,   121,   122,   123,   124,   125,
3404
     126,   127,   128,   199,   265,   266,   267,   268,   269,   307,
3405
     308,   177,   265,   180,   180,   180,   246,   216,   178,   216,
3406
     176,   174,   331,   177,   364,   358,    14,   178,    31,   218,
3407
     252,   176,   254,   176,   254,   104,   256,   257,   258,   259,
3408
     331,   114,   115,   223,   100,   213,   174,   208,   210,   213,
3409
     176,   295,   335,   292,   174,   179,   272,   272,   275,    37,
3410
      35,    35,    37,   335,   180,   331,   175,   176,   364,   248,
3411
     218,    31,   176,   269,   178,   174,   208,    30,   177,   270,
3412
     276,   277,   278,   279,   280,   308,   265,   178,   248,   176,
3413
      93,   325,   331,   364,   175,   249,    31,   218,   251,   216,
3414
     254,   102,   103,   104,   254,   180,   174,   208,   180,   174,
3415
     208,   174,   208,   177,   179,    75,   212,   180,   174,   208,
3416
     179,   103,   116,   129,   180,   199,   244,   293,   294,   304,
3417
     305,   306,   307,   344,   292,   178,   272,   272,   273,   273,
3418
     272,   179,   180,   178,   335,   216,    31,   281,   267,   277,
3419
     277,   280,    38,   228,    37,    35,    35,    37,   178,   116,
3420
     339,   335,   176,   178,   178,   178,   216,    99,   102,   176,
3421
     331,    31,   176,   180,    14,   258,   331,    14,   221,   344,
3422
     216,   213,   180,   292,   335,   295,   293,   270,   334,   111,
3423
     180,   292,   179,   271,    14,   178,   171,   229,   277,   277,
3424
     278,   278,   277,   281,   177,   281,   179,    31,   218,   250,
3425
     251,    97,   176,   176,    31,   176,   216,   216,   331,   331,
3426
      35,    79,   222,   180,   180,   190,   176,   179,   296,    79,
3427
     309,   310,   311,   338,    75,   119,   142,   143,   188,   271,
3428
     319,   320,   180,   292,   336,    79,   336,    79,   189,   340,
3429
     341,   336,   292,   216,   176,   216,   216,   344,   178,    16,
3430
     245,   119,   180,   190,   297,   298,   299,   300,   301,   302,
3431
     344,    16,   335,   174,   176,   190,    16,    16,    75,   319,
3432
     174,   176,   180,   337,    16,   335,   179,    79,   174,   208,
3433
     179,   180,    95,   179,   331,   176,   180,   298,   176,   176,
3434
     100,   117,   169,   331,   179,    79,   310,   335,   331,   331,
3435
     176,   320,   331,   331,   179,   313,   216,   341,   178,   216,
3436
     176,   216,    75,   187,   308,   295,   190,   335,   312,    16,
3437
     335,   177,   335,   335,   336,   335,   312,   180,   180,   180,
3438
     190,   179,   180,   199,   307,   314,   315,   331,   265,   313,
3439
     180,   336,   336,   312,   315,   338,   335,   178,   180,    75,
3440
     281,   335,   336,   316,   176,   179,   303,   177,   318,   216,
3441
     336,   265,   336,   180,   178,    14,   176,   179,   317,   331,
3442
     216,   336,   176,   180
3443
};
3444
3445
  /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
3446
static const yytype_int16 yyr1[] =
3447
{
3448
       0,   185,   186,   187,   187,   187,   187,   187,   187,   187,
3449
     187,   187,   187,   187,   187,   187,   187,   187,   187,   187,
3450
     187,   187,   187,   187,   187,   187,   187,   187,   187,   187,
3451
     187,   187,   187,   187,   187,   187,   187,   187,   187,   187,
3452
     187,   187,   187,   187,   187,   187,   187,   187,   187,   187,
3453
     187,   187,   187,   187,   187,   187,   187,   187,   187,   187,
3454
     187,   187,   187,   187,   187,   187,   187,   187,   187,   187,
3455
     187,   187,   187,   187,   188,   188,   188,   188,   188,   188,
3456
     188,   188,   189,   189,   190,   190,   191,   191,   192,   192,
3457
     193,   193,   194,   194,   195,   195,   195,   195,   196,   196,
3458
     197,   197,   198,   199,   199,   200,   200,   200,   200,   200,
3459
     201,   201,   202,   202,   202,   202,   202,   203,   202,   204,
3460
     202,   202,   202,   202,   202,   205,   205,   206,   207,   208,
3461
     208,   209,   209,   210,   210,   211,   211,   212,   212,   213,
3462
     213,   214,   214,   215,   215,   216,   216,   217,   217,   217,
3463
     217,   218,   218,   218,   218,   218,   218,   218,   218,   218,
3464
     218,   218,   218,   218,   218,   218,   218,   218,   218,   219,
3465
     218,   218,   218,   218,   218,   218,   220,   220,   221,   221,
3466
     222,   222,   223,   223,   224,   224,   225,   226,   226,   227,
3467
     228,   228,   229,   229,   231,   230,   232,   230,   233,   233,
3468
     234,   234,   235,   235,   236,   236,   236,   238,   237,   240,
3469
     239,   242,   241,   243,   243,   244,   245,   245,   246,   246,
3470
     247,   247,   248,   248,   249,   249,   249,   249,   250,   250,
3471
     251,   251,   252,   252,   253,   253,   253,   253,   254,   254,
3472
     254,   254,   254,   255,   256,   256,   257,   257,   258,   258,
3473
     259,   259,   260,   260,   261,   261,   262,   262,   263,   263,
3474
     264,   264,   265,   265,   266,   266,   267,   267,   268,   268,
3475
     269,   269,   270,   270,   271,   271,   271,   271,   272,   272,
3476
     273,   273,   274,   274,   275,   275,   276,   276,   276,   276,
3477
     277,   277,   277,   278,   278,   279,   279,   280,   280,   281,
3478
     281,   282,   282,   283,   283,   284,   284,   284,   285,   285,
3479
     285,   286,   286,   286,   286,   286,   287,   287,   288,   288,
3480
     289,   290,   290,   291,   291,   292,   292,   293,   293,   293,
3481
     293,   293,   293,   294,   294,   294,   295,   295,   296,   296,
3482
     296,   297,   297,   298,   298,   299,   300,   300,   300,   300,
3483
     301,   301,   302,   303,   303,   304,   304,   305,   305,   306,
3484
     306,   307,   307,   308,   308,   308,   308,   308,   308,   308,
3485
     308,   308,   308,   309,   309,   310,   310,   311,   311,   312,
3486
     312,   312,   313,   313,   314,   314,   316,   315,   317,   317,
3487
     317,   318,   318,   319,   319,   320,   320,   321,   322,   322,
3488
     323,   324,   324,   324,   325,   325,   326,   326,   326,   326,
3489
     328,   327,   329,   329,   329,   330,   331,   331,   331,   331,
3490
     331,   331,   331,   331,   331,   331,   331,   331,   331,   331,
3491
     331,   331,   331,   331,   331,   331,   331,   331,   331,   331,
3492
     331,   331,   331,   331,   331,   331,   331,   331,   331,   331,
3493
     331,   331,   331,   331,   331,   331,   331,   331,   331,   331,
3494
     331,   331,   331,   331,   331,   331,   331,   331,   331,   331,
3495
     331,   331,   331,   331,   331,   331,   331,   331,   331,   331,
3496
     331,   331,   331,   331,   331,   331,   331,   331,   331,   331,
3497
     331,   331,   331,   331,   331,   331,   331,   331,   331,   331,
3498
     331,   331,   332,   332,   333,   334,   335,   336,   337,   338,
3499
     338,   339,   339,   340,   340,   341,   341,   342,   342,   342,
3500
     342,   343,   342,   344,   344,   345,   345,   345,   346,   346,
3501
     346,   347,   347,   348,   348,   348,   348,   349,   349,   349,
3502
     349,   349,   349,   349,   349,   350,   350,   350,   350,   350,
3503
     350,   350,   350,   350,   350,   351,   351,   351,   351,   352,
3504
     352,   353,   354,   354,   354,   354,   354,   355,   355,   356,
3505
     356,   356,   356,   357,   357,   357,   357,   357,   358,   358,
3506
     358,   358,   359,   359,   359,   360,   360,   361,   361,   361,
3507
     361,   361,   361,   362,   362,   362,   363,   363,   363,   364,
3508
     365,   365,   366,   366,   367,   367,   367,   367,   367,   367,
3509
     367,   368,   368,   368,   368,   369,   369,   369,   369,   369,
3510
     369,   369,   369,   370,   370,   370,   370,   371,   371,   371,
3511
     371,   371,   371,   371,   372,   372,   373
3512
};
3513
3514
  /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN.  */
3515
static const yytype_int8 yyr2[] =
3516
{
3517
       0,     2,     1,     1,     1,     1,     1,     1,     1,     1,
3518
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
3519
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
3520
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
3521
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
3522
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
3523
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
3524
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
3525
       1,     1,     1,     1,     1,     1,     2,     0,     1,     1,
3526
       1,     1,     1,     1,     1,     1,     1,     1,     1,     2,
3527
       1,     3,     5,     1,     2,     1,     1,     1,     1,     1,
3528
       1,     3,     1,     1,     2,     4,     3,     0,     6,     0,
3529
       5,     3,     4,     3,     4,     1,     1,     6,     6,     0,
3530
       1,     3,     1,     3,     1,     3,     1,     1,     2,     1,
3531
       3,     1,     3,     3,     1,     2,     0,     1,     1,     2,
3532
       4,     3,     1,     1,     5,     7,     9,     5,     3,     3,
3533
       3,     3,     3,     3,     1,     2,     6,     7,     9,     0,
3534
       6,     1,     6,     3,     2,     3,     0,     9,     1,     3,
3535
       0,     1,     0,     4,     1,     3,     1,     1,     1,    13,
3536
       0,     1,     0,     1,     0,    10,     0,     9,     1,     2,
3537
       1,     2,     0,     1,     1,     1,     1,     0,     7,     0,
3538
       8,     0,     9,     0,     2,     5,     0,     2,     0,     2,
3539
       0,     2,     0,     2,     1,     2,     4,     3,     1,     4,
3540
       1,     4,     1,     4,     3,     4,     4,     5,     0,     5,
3541
       5,     4,     4,     7,     0,     2,     1,     3,     4,     4,
3542
       1,     3,     1,     4,     5,     6,     1,     3,     6,     7,
3543
       3,     6,     2,     0,     1,     3,     2,     1,     0,     1,
3544
       7,     9,     0,     1,     1,     2,     1,     1,     1,     1,
3545
       1,     3,     3,     3,     3,     3,     1,     2,     1,     1,
3546
       1,     1,     1,     1,     3,     3,     3,     3,     3,     0,
3547
       2,     2,     4,     1,     3,     2,     4,     4,     3,     1,
3548
       3,     3,     1,     1,     3,     2,     1,     1,     3,     1,
3549
       1,     3,     1,     1,     3,     2,     0,     4,     3,     4,
3550
       5,    12,     1,     1,     2,     3,     1,     3,     1,     2,
3551
       3,     1,     2,     2,     2,     3,     3,     3,     4,     3,
3552
       1,     1,     3,     1,     3,     1,     1,     0,     1,     0,
3553
       1,     1,     2,     1,     1,     1,     1,     1,     1,     1,
3554
       1,     1,     1,     3,     1,     2,     4,     5,     7,     0,
3555
       2,     3,     0,     3,     0,     1,     0,     9,     1,     3,
3556
       3,     0,     3,     3,     1,     4,     4,     4,     3,     1,
3557
       1,     0,     3,     1,     0,     1,     3,     4,     2,     1,
3558
       0,    10,     3,     2,     3,     2,     1,     6,     5,     3,
3559
       4,     2,     2,     3,     3,     3,     3,     3,     3,     3,
3560
       3,     3,     3,     3,     3,     3,     2,     2,     2,     2,
3561
       3,     3,     3,     3,     3,     3,     3,     3,     3,     3,
3562
       3,     3,     3,     3,     3,     3,     3,     3,     2,     2,
3563
       2,     2,     3,     3,     3,     3,     3,     3,     3,     3,
3564
       3,     3,     3,     3,     1,     1,     5,     4,     3,     1,
3565
       2,     2,     2,     2,     2,     2,     2,     2,     2,     1,
3566
       3,     2,     1,     2,     4,     2,     2,     1,     2,     2,
3567
       3,     1,    13,    12,     1,     1,     0,     0,     0,     0,
3568
       1,     0,     5,     3,     1,     1,     2,     2,     2,     4,
3569
       4,     0,     3,     1,     1,     1,     1,     3,     0,     1,
3570
       1,     0,     1,     4,     3,     1,     3,     1,     1,     3,
3571
       2,     3,     1,     1,     1,     1,     1,     1,     1,     1,
3572
       1,     1,     1,     1,     1,     3,     3,     5,     5,     0,
3573
       1,     1,     1,     3,     1,     1,     1,     1,     1,     1,
3574
       3,     1,     1,     1,     4,     4,     4,     1,     1,     1,
3575
       3,     3,     1,     4,     2,     3,     3,     1,     4,     3,
3576
       3,     3,     3,     1,     3,     1,     1,     3,     1,     1,
3577
       0,     1,     3,     1,     3,     1,     4,     2,     2,     6,
3578
       4,     2,     2,     1,     2,     1,     4,     3,     3,     3,
3579
       3,     6,     3,     1,     1,     2,     1,     5,     4,     2,
3580
       2,     4,     2,     2,     1,     3,     1
3581
};
3582
3583
3584
#define yyerrok         (yyerrstatus = 0)
3585
#define yyclearin       (yychar = YYEMPTY)
3586
0
#define YYEMPTY         (-2)
3587
0
#define YYEOF           0
3588
3589
0
#define YYACCEPT        goto yyacceptlab
3590
0
#define YYABORT         goto yyabortlab
3591
0
#define YYERROR         goto yyerrorlab
3592
3593
3594
#define YYRECOVERING()  (!!yyerrstatus)
3595
3596
#define YYBACKUP(Token, Value)                                    \
3597
  do                                                              \
3598
    if (yychar == YYEMPTY)                                        \
3599
      {                                                           \
3600
        yychar = (Token);                                         \
3601
        yylval = (Value);                                         \
3602
        YYPOPSTACK (yylen);                                       \
3603
        yystate = *yyssp;                                         \
3604
        goto yybackup;                                            \
3605
      }                                                           \
3606
    else                                                          \
3607
      {                                                           \
3608
        yyerror (YY_("syntax error: cannot back up")); \
3609
        YYERROR;                                                  \
3610
      }                                                           \
3611
  while (0)
3612
3613
/* Error token number */
3614
0
#define YYTERROR        1
3615
#define YYERRCODE       256
3616
3617
3618
3619
/* Enable debugging if requested.  */
3620
#if ZENDDEBUG
3621
3622
# ifndef YYFPRINTF
3623
#  include <stdio.h> /* INFRINGES ON USER NAME SPACE */
3624
#  define YYFPRINTF fprintf
3625
# endif
3626
3627
# define YYDPRINTF(Args)                        \
3628
do {                                            \
3629
  if (yydebug)                                  \
3630
    YYFPRINTF Args;                             \
3631
} while (0)
3632
3633
/* This macro is provided for backward compatibility. */
3634
#ifndef YY_LOCATION_PRINT
3635
# define YY_LOCATION_PRINT(File, Loc) ((void) 0)
3636
#endif
3637
3638
3639
# define YY_SYMBOL_PRINT(Title, Type, Value, Location)                    \
3640
do {                                                                      \
3641
  if (yydebug)                                                            \
3642
    {                                                                     \
3643
      YYFPRINTF (stderr, "%s ", Title);                                   \
3644
      yy_symbol_print (stderr,                                            \
3645
                  Type, Value); \
3646
      YYFPRINTF (stderr, "\n");                                           \
3647
    }                                                                     \
3648
} while (0)
3649
3650
3651
/*-----------------------------------.
3652
| Print this symbol's value on YYO.  |
3653
`-----------------------------------*/
3654
3655
static void
3656
yy_symbol_value_print (FILE *yyo, int yytype, YYSTYPE const * const yyvaluep)
3657
{
3658
  FILE *yyoutput = yyo;
3659
  YYUSE (yyoutput);
3660
  if (!yyvaluep)
3661
    return;
3662
# ifdef YYPRINT
3663
  if (yytype < YYNTOKENS)
3664
    YYPRINT (yyo, yytoknum[yytype], *yyvaluep);
3665
# endif
3666
  YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
3667
  YYUSE (yytype);
3668
  YY_IGNORE_MAYBE_UNINITIALIZED_END
3669
}
3670
3671
3672
/*---------------------------.
3673
| Print this symbol on YYO.  |
3674
`---------------------------*/
3675
3676
static void
3677
yy_symbol_print (FILE *yyo, int yytype, YYSTYPE const * const yyvaluep)
3678
{
3679
  YYFPRINTF (yyo, "%s %s (",
3680
             yytype < YYNTOKENS ? "token" : "nterm", yytname[yytype]);
3681
3682
  yy_symbol_value_print (yyo, yytype, yyvaluep);
3683
  YYFPRINTF (yyo, ")");
3684
}
3685
3686
/*------------------------------------------------------------------.
3687
| yy_stack_print -- Print the state stack from its BOTTOM up to its |
3688
| TOP (included).                                                   |
3689
`------------------------------------------------------------------*/
3690
3691
static void
3692
yy_stack_print (yy_state_t *yybottom, yy_state_t *yytop)
3693
{
3694
  YYFPRINTF (stderr, "Stack now");
3695
  for (; yybottom <= yytop; yybottom++)
3696
    {
3697
      int yybot = *yybottom;
3698
      YYFPRINTF (stderr, " %d", yybot);
3699
    }
3700
  YYFPRINTF (stderr, "\n");
3701
}
3702
3703
# define YY_STACK_PRINT(Bottom, Top)                            \
3704
do {                                                            \
3705
  if (yydebug)                                                  \
3706
    yy_stack_print ((Bottom), (Top));                           \
3707
} while (0)
3708
3709
3710
/*------------------------------------------------.
3711
| Report that the YYRULE is going to be reduced.  |
3712
`------------------------------------------------*/
3713
3714
static void
3715
yy_reduce_print (yy_state_t *yyssp, YYSTYPE *yyvsp, int yyrule)
3716
{
3717
  int yylno = yyrline[yyrule];
3718
  int yynrhs = yyr2[yyrule];
3719
  int yyi;
3720
  YYFPRINTF (stderr, "Reducing stack by rule %d (line %d):\n",
3721
             yyrule - 1, yylno);
3722
  /* The symbols being reduced.  */
3723
  for (yyi = 0; yyi < yynrhs; yyi++)
3724
    {
3725
      YYFPRINTF (stderr, "   $%d = ", yyi + 1);
3726
      yy_symbol_print (stderr,
3727
                       yystos[+yyssp[yyi + 1 - yynrhs]],
3728
                       &yyvsp[(yyi + 1) - (yynrhs)]
3729
                                              );
3730
      YYFPRINTF (stderr, "\n");
3731
    }
3732
}
3733
3734
# define YY_REDUCE_PRINT(Rule)          \
3735
do {                                    \
3736
  if (yydebug)                          \
3737
    yy_reduce_print (yyssp, yyvsp, Rule); \
3738
} while (0)
3739
3740
/* Nonzero means print parse trace.  It is left uninitialized so that
3741
   multiple parsers can coexist.  */
3742
int yydebug;
3743
#else /* !ZENDDEBUG */
3744
# define YYDPRINTF(Args)
3745
# define YY_SYMBOL_PRINT(Title, Type, Value, Location)
3746
# define YY_STACK_PRINT(Bottom, Top)
3747
# define YY_REDUCE_PRINT(Rule)
3748
#endif /* !ZENDDEBUG */
3749
3750
3751
/* YYINITDEPTH -- initial size of the parser's stacks.  */
3752
#ifndef YYINITDEPTH
3753
0
# define YYINITDEPTH 200
3754
#endif
3755
3756
/* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
3757
   if the built-in stack extension method is used).
3758
3759
   Do not make this value too large; the results are undefined if
3760
   YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH)
3761
   evaluated with infinite-precision integer arithmetic.  */
3762
3763
#ifndef YYMAXDEPTH
3764
0
# define YYMAXDEPTH 10000
3765
#endif
3766
3767
3768
#if YYERROR_VERBOSE
3769
3770
# ifndef yystrlen
3771
#  if defined __GLIBC__ && defined _STRING_H
3772
0
#   define yystrlen(S) (YY_CAST (YYPTRDIFF_T, strlen (S)))
3773
#  else
3774
/* Return the length of YYSTR.  */
3775
static YYPTRDIFF_T
3776
yystrlen (const char *yystr)
3777
{
3778
  YYPTRDIFF_T yylen;
3779
  for (yylen = 0; yystr[yylen]; yylen++)
3780
    continue;
3781
  return yylen;
3782
}
3783
#  endif
3784
# endif
3785
3786
# ifndef yystpcpy
3787
#  if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
3788
0
#   define yystpcpy stpcpy
3789
#  else
3790
/* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
3791
   YYDEST.  */
3792
static char *
3793
yystpcpy (char *yydest, const char *yysrc)
3794
{
3795
  char *yyd = yydest;
3796
  const char *yys = yysrc;
3797
3798
  while ((*yyd++ = *yys++) != '\0')
3799
    continue;
3800
3801
  return yyd - 1;
3802
}
3803
#  endif
3804
# endif
3805
3806
# ifndef yytnamerr
3807
/* Copy to YYRES the contents of YYSTR after stripping away unnecessary
3808
   quotes and backslashes, so that it's suitable for yyerror.  The
3809
   heuristic is that double-quoting is unnecessary unless the string
3810
   contains an apostrophe, a comma, or backslash (other than
3811
   backslash-backslash).  YYSTR is taken from yytname.  If YYRES is
3812
   null, do not copy; instead, return the length of what the result
3813
   would have been.  */
3814
static YYPTRDIFF_T
3815
yytnamerr (char *yyres, const char *yystr)
3816
{
3817
  if (*yystr == '"')
3818
    {
3819
      YYPTRDIFF_T yyn = 0;
3820
      char const *yyp = yystr;
3821
3822
      for (;;)
3823
        switch (*++yyp)
3824
          {
3825
          case '\'':
3826
          case ',':
3827
            goto do_not_strip_quotes;
3828
3829
          case '\\':
3830
            if (*++yyp != '\\')
3831
              goto do_not_strip_quotes;
3832
            else
3833
              goto append;
3834
3835
          append:
3836
          default:
3837
            if (yyres)
3838
              yyres[yyn] = *yyp;
3839
            yyn++;
3840
            break;
3841
3842
          case '"':
3843
            if (yyres)
3844
              yyres[yyn] = '\0';
3845
            return yyn;
3846
          }
3847
    do_not_strip_quotes: ;
3848
    }
3849
3850
  if (yyres)
3851
    return yystpcpy (yyres, yystr) - yyres;
3852
  else
3853
    return yystrlen (yystr);
3854
}
3855
# endif
3856
3857
/* Copy into *YYMSG, which is of size *YYMSG_ALLOC, an error message
3858
   about the unexpected token YYTOKEN for the state stack whose top is
3859
   YYSSP.
3860
3861
   Return 0 if *YYMSG was successfully written.  Return 1 if *YYMSG is
3862
   not large enough to hold the message.  In that case, also set
3863
   *YYMSG_ALLOC to the required number of bytes.  Return 2 if the
3864
   required number of bytes is too large to store.  */
3865
static int
3866
yysyntax_error (YYPTRDIFF_T *yymsg_alloc, char **yymsg,
3867
                yy_state_t *yyssp, int yytoken)
3868
0
{
3869
0
  enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
3870
  /* Internationalized format string. */
3871
0
  const char *yyformat = YY_NULLPTR;
3872
  /* Arguments of yyformat: reported tokens (one for the "unexpected",
3873
     one per "expected"). */
3874
0
  char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
3875
  /* Actual size of YYARG. */
3876
0
  int yycount = 0;
3877
  /* Cumulated lengths of YYARG.  */
3878
0
  YYPTRDIFF_T yysize = 0;
3879
3880
  /* There are many possibilities here to consider:
3881
     - If this state is a consistent state with a default action, then
3882
       the only way this function was invoked is if the default action
3883
       is an error action.  In that case, don't check for expected
3884
       tokens because there are none.
3885
     - The only way there can be no lookahead present (in yychar) is if
3886
       this state is a consistent state with a default action.  Thus,
3887
       detecting the absence of a lookahead is sufficient to determine
3888
       that there is no unexpected or expected token to report.  In that
3889
       case, just report a simple "syntax error".
3890
     - Don't assume there isn't a lookahead just because this state is a
3891
       consistent state with a default action.  There might have been a
3892
       previous inconsistent state, consistent state with a non-default
3893
       action, or user semantic action that manipulated yychar.
3894
     - Of course, the expected token list depends on states to have
3895
       correct lookahead information, and it depends on the parser not
3896
       to perform extra reductions after fetching a lookahead from the
3897
       scanner and before detecting a syntax error.  Thus, state merging
3898
       (from LALR or IELR) and default reductions corrupt the expected
3899
       token list.  However, the list is correct for canonical LR with
3900
       one exception: it will still contain any token that will not be
3901
       accepted due to an error action in a later state.
3902
  */
3903
0
  if (yytoken != YYEMPTY)
3904
0
    {
3905
0
      int yyn = yypact[+*yyssp];
3906
0
      YYPTRDIFF_T yysize0 = yytnamerr (YY_NULLPTR, yytname[yytoken]);
3907
0
      yysize = yysize0;
3908
0
      yyarg[yycount++] = yytname[yytoken];
3909
0
      if (!yypact_value_is_default (yyn))
3910
0
        {
3911
          /* Start YYX at -YYN if negative to avoid negative indexes in
3912
             YYCHECK.  In other words, skip the first -YYN actions for
3913
             this state because they are default actions.  */
3914
0
          int yyxbegin = yyn < 0 ? -yyn : 0;
3915
          /* Stay within bounds of both yycheck and yytname.  */
3916
0
          int yychecklim = YYLAST - yyn + 1;
3917
0
          int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
3918
0
          int yyx;
3919
3920
0
          for (yyx = yyxbegin; yyx < yyxend; ++yyx)
3921
0
            if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR
3922
0
                && !yytable_value_is_error (yytable[yyx + yyn]))
3923
0
              {
3924
0
                if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
3925
0
                  {
3926
0
                    yycount = 1;
3927
0
                    yysize = yysize0;
3928
0
                    break;
3929
0
                  }
3930
0
                yyarg[yycount++] = yytname[yyx];
3931
0
                {
3932
0
                  YYPTRDIFF_T yysize1
3933
0
                    = yysize + yytnamerr (YY_NULLPTR, yytname[yyx]);
3934
0
                  if (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM)
3935
0
                    yysize = yysize1;
3936
0
                  else
3937
0
                    return 2;
3938
0
                }
3939
0
              }
3940
0
        }
3941
0
    }
3942
3943
0
  switch (yycount)
3944
0
    {
3945
0
# define YYCASE_(N, S)                      \
3946
0
      case N:                               \
3947
0
        yyformat = S;                       \
3948
0
      break
3949
0
    default: /* Avoid compiler warnings. */
3950
0
      YYCASE_(0, YY_("syntax error"));
3951
0
      YYCASE_(1, YY_("syntax error, unexpected %s"));
3952
0
      YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s"));
3953
0
      YYCASE_(3, YY_("syntax error, unexpected %s, expecting %s or %s"));
3954
0
      YYCASE_(4, YY_("syntax error, unexpected %s, expecting %s or %s or %s"));
3955
0
      YYCASE_(5, YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s"));
3956
0
# undef YYCASE_
3957
0
    }
3958
3959
0
  {
3960
    /* Don't count the "%s"s in the final size, but reserve room for
3961
       the terminator.  */
3962
0
    YYPTRDIFF_T yysize1 = yysize + (yystrlen (yyformat) - 2 * yycount) + 1;
3963
0
    if (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM)
3964
0
      yysize = yysize1;
3965
0
    else
3966
0
      return 2;
3967
0
  }
3968
3969
0
  if (*yymsg_alloc < yysize)
3970
0
    {
3971
0
      *yymsg_alloc = 2 * yysize;
3972
0
      if (! (yysize <= *yymsg_alloc
3973
0
             && *yymsg_alloc <= YYSTACK_ALLOC_MAXIMUM))
3974
0
        *yymsg_alloc = YYSTACK_ALLOC_MAXIMUM;
3975
0
      return 1;
3976
0
    }
3977
3978
  /* Avoid sprintf, as that infringes on the user's name space.
3979
     Don't have undefined behavior even if the translation
3980
     produced a string with the wrong number of "%s"s.  */
3981
0
  {
3982
0
    char *yyp = *yymsg;
3983
0
    int yyi = 0;
3984
0
    while ((*yyp = *yyformat) != '\0')
3985
0
      if (*yyp == '%' && yyformat[1] == 's' && yyi < yycount)
3986
0
        {
3987
0
          yyp += yytnamerr (yyp, yyarg[yyi++]);
3988
0
          yyformat += 2;
3989
0
        }
3990
0
      else
3991
0
        {
3992
0
          ++yyp;
3993
0
          ++yyformat;
3994
0
        }
3995
0
  }
3996
0
  return 0;
3997
0
}
3998
#endif /* YYERROR_VERBOSE */
3999
4000
/*-----------------------------------------------.
4001
| Release the memory associated to this symbol.  |
4002
`-----------------------------------------------*/
4003
4004
static void
4005
yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep)
4006
0
{
4007
0
  YYUSE (yyvaluep);
4008
0
  if (!yymsg)
4009
0
    yymsg = "Deleting";
4010
0
  YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
4011
4012
0
  YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
4013
0
  switch (yytype)
4014
0
    {
4015
0
    case 73: /* "integer"  */
4016
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4017
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4018
0
#line 4019 "/src/php-src/Zend/zend_language_parser.c"
4019
0
        break;
4020
4021
0
    case 74: /* "floating-point number"  */
4022
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4023
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4024
0
#line 4025 "/src/php-src/Zend/zend_language_parser.c"
4025
0
        break;
4026
4027
0
    case 75: /* "identifier"  */
4028
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4029
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4030
0
#line 4031 "/src/php-src/Zend/zend_language_parser.c"
4031
0
        break;
4032
4033
0
    case 76: /* "fully qualified name"  */
4034
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4035
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4036
0
#line 4037 "/src/php-src/Zend/zend_language_parser.c"
4037
0
        break;
4038
4039
0
    case 77: /* "namespace-relative name"  */
4040
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4041
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4042
0
#line 4043 "/src/php-src/Zend/zend_language_parser.c"
4043
0
        break;
4044
4045
0
    case 78: /* "namespaced name"  */
4046
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4047
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4048
0
#line 4049 "/src/php-src/Zend/zend_language_parser.c"
4049
0
        break;
4050
4051
0
    case 79: /* "variable"  */
4052
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4053
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4054
0
#line 4055 "/src/php-src/Zend/zend_language_parser.c"
4055
0
        break;
4056
4057
0
    case 80: /* T_INLINE_HTML  */
4058
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4059
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4060
0
#line 4061 "/src/php-src/Zend/zend_language_parser.c"
4061
0
        break;
4062
4063
0
    case 81: /* "string content"  */
4064
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4065
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4066
0
#line 4067 "/src/php-src/Zend/zend_language_parser.c"
4067
0
        break;
4068
4069
0
    case 82: /* "quoted string"  */
4070
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4071
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4072
0
#line 4073 "/src/php-src/Zend/zend_language_parser.c"
4073
0
        break;
4074
4075
0
    case 83: /* "variable name"  */
4076
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4077
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4078
0
#line 4079 "/src/php-src/Zend/zend_language_parser.c"
4079
0
        break;
4080
4081
0
    case 84: /* "number"  */
4082
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4083
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4084
0
#line 4085 "/src/php-src/Zend/zend_language_parser.c"
4085
0
        break;
4086
4087
0
    case 190: /* identifier  */
4088
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4089
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4090
0
#line 4091 "/src/php-src/Zend/zend_language_parser.c"
4091
0
        break;
4092
4093
0
    case 191: /* top_statement_list  */
4094
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4095
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4096
0
#line 4097 "/src/php-src/Zend/zend_language_parser.c"
4097
0
        break;
4098
4099
0
    case 192: /* namespace_declaration_name  */
4100
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4101
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4102
0
#line 4103 "/src/php-src/Zend/zend_language_parser.c"
4103
0
        break;
4104
4105
0
    case 193: /* namespace_name  */
4106
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4107
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4108
0
#line 4109 "/src/php-src/Zend/zend_language_parser.c"
4109
0
        break;
4110
4111
0
    case 194: /* legacy_namespace_name  */
4112
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4113
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4114
0
#line 4115 "/src/php-src/Zend/zend_language_parser.c"
4115
0
        break;
4116
4117
0
    case 195: /* name  */
4118
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4119
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4120
0
#line 4121 "/src/php-src/Zend/zend_language_parser.c"
4121
0
        break;
4122
4123
0
    case 196: /* attribute_decl  */
4124
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4125
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4126
0
#line 4127 "/src/php-src/Zend/zend_language_parser.c"
4127
0
        break;
4128
4129
0
    case 197: /* attribute_group  */
4130
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4131
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4132
0
#line 4133 "/src/php-src/Zend/zend_language_parser.c"
4133
0
        break;
4134
4135
0
    case 198: /* attribute  */
4136
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4137
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4138
0
#line 4139 "/src/php-src/Zend/zend_language_parser.c"
4139
0
        break;
4140
4141
0
    case 199: /* attributes  */
4142
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4143
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4144
0
#line 4145 "/src/php-src/Zend/zend_language_parser.c"
4145
0
        break;
4146
4147
0
    case 200: /* attributed_statement  */
4148
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4149
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4150
0
#line 4151 "/src/php-src/Zend/zend_language_parser.c"
4151
0
        break;
4152
4153
0
    case 201: /* attributed_top_statement  */
4154
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4155
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4156
0
#line 4157 "/src/php-src/Zend/zend_language_parser.c"
4157
0
        break;
4158
4159
0
    case 202: /* top_statement  */
4160
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4161
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4162
0
#line 4163 "/src/php-src/Zend/zend_language_parser.c"
4163
0
        break;
4164
4165
0
    case 206: /* group_use_declaration  */
4166
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4167
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4168
0
#line 4169 "/src/php-src/Zend/zend_language_parser.c"
4169
0
        break;
4170
4171
0
    case 207: /* mixed_group_use_declaration  */
4172
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4173
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4174
0
#line 4175 "/src/php-src/Zend/zend_language_parser.c"
4175
0
        break;
4176
4177
0
    case 209: /* inline_use_declarations  */
4178
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4179
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4180
0
#line 4181 "/src/php-src/Zend/zend_language_parser.c"
4181
0
        break;
4182
4183
0
    case 210: /* unprefixed_use_declarations  */
4184
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4185
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4186
0
#line 4187 "/src/php-src/Zend/zend_language_parser.c"
4187
0
        break;
4188
4189
0
    case 211: /* use_declarations  */
4190
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4191
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4192
0
#line 4193 "/src/php-src/Zend/zend_language_parser.c"
4193
0
        break;
4194
4195
0
    case 212: /* inline_use_declaration  */
4196
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4197
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4198
0
#line 4199 "/src/php-src/Zend/zend_language_parser.c"
4199
0
        break;
4200
4201
0
    case 213: /* unprefixed_use_declaration  */
4202
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4203
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4204
0
#line 4205 "/src/php-src/Zend/zend_language_parser.c"
4205
0
        break;
4206
4207
0
    case 214: /* use_declaration  */
4208
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4209
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4210
0
#line 4211 "/src/php-src/Zend/zend_language_parser.c"
4211
0
        break;
4212
4213
0
    case 215: /* const_list  */
4214
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4215
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4216
0
#line 4217 "/src/php-src/Zend/zend_language_parser.c"
4217
0
        break;
4218
4219
0
    case 216: /* inner_statement_list  */
4220
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4221
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4222
0
#line 4223 "/src/php-src/Zend/zend_language_parser.c"
4223
0
        break;
4224
4225
0
    case 217: /* inner_statement  */
4226
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4227
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4228
0
#line 4229 "/src/php-src/Zend/zend_language_parser.c"
4229
0
        break;
4230
4231
0
    case 218: /* statement  */
4232
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4233
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4234
0
#line 4235 "/src/php-src/Zend/zend_language_parser.c"
4235
0
        break;
4236
4237
0
    case 220: /* catch_list  */
4238
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4239
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4240
0
#line 4241 "/src/php-src/Zend/zend_language_parser.c"
4241
0
        break;
4242
4243
0
    case 221: /* catch_name_list  */
4244
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4245
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4246
0
#line 4247 "/src/php-src/Zend/zend_language_parser.c"
4247
0
        break;
4248
4249
0
    case 222: /* optional_variable  */
4250
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4251
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4252
0
#line 4253 "/src/php-src/Zend/zend_language_parser.c"
4253
0
        break;
4254
4255
0
    case 223: /* finally_statement  */
4256
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4257
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4258
0
#line 4259 "/src/php-src/Zend/zend_language_parser.c"
4259
0
        break;
4260
4261
0
    case 224: /* unset_variables  */
4262
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4263
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4264
0
#line 4265 "/src/php-src/Zend/zend_language_parser.c"
4265
0
        break;
4266
4267
0
    case 225: /* unset_variable  */
4268
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4269
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4270
0
#line 4271 "/src/php-src/Zend/zend_language_parser.c"
4271
0
        break;
4272
4273
0
    case 226: /* function_name  */
4274
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4275
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4276
0
#line 4277 "/src/php-src/Zend/zend_language_parser.c"
4277
0
        break;
4278
4279
0
    case 227: /* function_declaration_statement  */
4280
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4281
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4282
0
#line 4283 "/src/php-src/Zend/zend_language_parser.c"
4283
0
        break;
4284
4285
0
    case 230: /* class_declaration_statement  */
4286
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4287
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4288
0
#line 4289 "/src/php-src/Zend/zend_language_parser.c"
4289
0
        break;
4290
4291
0
    case 237: /* trait_declaration_statement  */
4292
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4293
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4294
0
#line 4295 "/src/php-src/Zend/zend_language_parser.c"
4295
0
        break;
4296
4297
0
    case 239: /* interface_declaration_statement  */
4298
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4299
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4300
0
#line 4301 "/src/php-src/Zend/zend_language_parser.c"
4301
0
        break;
4302
4303
0
    case 241: /* enum_declaration_statement  */
4304
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4305
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4306
0
#line 4307 "/src/php-src/Zend/zend_language_parser.c"
4307
0
        break;
4308
4309
0
    case 243: /* enum_backing_type  */
4310
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4311
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4312
0
#line 4313 "/src/php-src/Zend/zend_language_parser.c"
4313
0
        break;
4314
4315
0
    case 244: /* enum_case  */
4316
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4317
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4318
0
#line 4319 "/src/php-src/Zend/zend_language_parser.c"
4319
0
        break;
4320
4321
0
    case 245: /* enum_case_expr  */
4322
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4323
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4324
0
#line 4325 "/src/php-src/Zend/zend_language_parser.c"
4325
0
        break;
4326
4327
0
    case 246: /* extends_from  */
4328
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4329
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4330
0
#line 4331 "/src/php-src/Zend/zend_language_parser.c"
4331
0
        break;
4332
4333
0
    case 247: /* interface_extends_list  */
4334
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4335
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4336
0
#line 4337 "/src/php-src/Zend/zend_language_parser.c"
4337
0
        break;
4338
4339
0
    case 248: /* implements_list  */
4340
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4341
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4342
0
#line 4343 "/src/php-src/Zend/zend_language_parser.c"
4343
0
        break;
4344
4345
0
    case 249: /* foreach_variable  */
4346
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4347
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4348
0
#line 4349 "/src/php-src/Zend/zend_language_parser.c"
4349
0
        break;
4350
4351
0
    case 250: /* for_statement  */
4352
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4353
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4354
0
#line 4355 "/src/php-src/Zend/zend_language_parser.c"
4355
0
        break;
4356
4357
0
    case 251: /* foreach_statement  */
4358
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4359
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4360
0
#line 4361 "/src/php-src/Zend/zend_language_parser.c"
4361
0
        break;
4362
4363
0
    case 252: /* declare_statement  */
4364
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4365
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4366
0
#line 4367 "/src/php-src/Zend/zend_language_parser.c"
4367
0
        break;
4368
4369
0
    case 253: /* switch_case_list  */
4370
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4371
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4372
0
#line 4373 "/src/php-src/Zend/zend_language_parser.c"
4373
0
        break;
4374
4375
0
    case 254: /* case_list  */
4376
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4377
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4378
0
#line 4379 "/src/php-src/Zend/zend_language_parser.c"
4379
0
        break;
4380
4381
0
    case 255: /* match  */
4382
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4383
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4384
0
#line 4385 "/src/php-src/Zend/zend_language_parser.c"
4385
0
        break;
4386
4387
0
    case 256: /* match_arm_list  */
4388
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4389
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4390
0
#line 4391 "/src/php-src/Zend/zend_language_parser.c"
4391
0
        break;
4392
4393
0
    case 257: /* non_empty_match_arm_list  */
4394
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4395
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4396
0
#line 4397 "/src/php-src/Zend/zend_language_parser.c"
4397
0
        break;
4398
4399
0
    case 258: /* match_arm  */
4400
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4401
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4402
0
#line 4403 "/src/php-src/Zend/zend_language_parser.c"
4403
0
        break;
4404
4405
0
    case 259: /* match_arm_cond_list  */
4406
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4407
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4408
0
#line 4409 "/src/php-src/Zend/zend_language_parser.c"
4409
0
        break;
4410
4411
0
    case 260: /* while_statement  */
4412
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4413
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4414
0
#line 4415 "/src/php-src/Zend/zend_language_parser.c"
4415
0
        break;
4416
4417
0
    case 261: /* if_stmt_without_else  */
4418
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4419
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4420
0
#line 4421 "/src/php-src/Zend/zend_language_parser.c"
4421
0
        break;
4422
4423
0
    case 262: /* if_stmt  */
4424
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4425
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4426
0
#line 4427 "/src/php-src/Zend/zend_language_parser.c"
4427
0
        break;
4428
4429
0
    case 263: /* alt_if_stmt_without_else  */
4430
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4431
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4432
0
#line 4433 "/src/php-src/Zend/zend_language_parser.c"
4433
0
        break;
4434
4435
0
    case 264: /* alt_if_stmt  */
4436
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4437
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4438
0
#line 4439 "/src/php-src/Zend/zend_language_parser.c"
4439
0
        break;
4440
4441
0
    case 265: /* parameter_list  */
4442
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4443
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4444
0
#line 4445 "/src/php-src/Zend/zend_language_parser.c"
4445
0
        break;
4446
4447
0
    case 266: /* non_empty_parameter_list  */
4448
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4449
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4450
0
#line 4451 "/src/php-src/Zend/zend_language_parser.c"
4451
0
        break;
4452
4453
0
    case 267: /* attributed_parameter  */
4454
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4455
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4456
0
#line 4457 "/src/php-src/Zend/zend_language_parser.c"
4457
0
        break;
4458
4459
0
    case 269: /* parameter  */
4460
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4461
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4462
0
#line 4463 "/src/php-src/Zend/zend_language_parser.c"
4463
0
        break;
4464
4465
0
    case 270: /* optional_type_without_static  */
4466
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4467
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4468
0
#line 4469 "/src/php-src/Zend/zend_language_parser.c"
4469
0
        break;
4470
4471
0
    case 271: /* type_expr  */
4472
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4473
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4474
0
#line 4475 "/src/php-src/Zend/zend_language_parser.c"
4475
0
        break;
4476
4477
0
    case 272: /* type  */
4478
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4479
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4480
0
#line 4481 "/src/php-src/Zend/zend_language_parser.c"
4481
0
        break;
4482
4483
0
    case 273: /* union_type_element  */
4484
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4485
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4486
0
#line 4487 "/src/php-src/Zend/zend_language_parser.c"
4487
0
        break;
4488
4489
0
    case 274: /* union_type  */
4490
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4491
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4492
0
#line 4493 "/src/php-src/Zend/zend_language_parser.c"
4493
0
        break;
4494
4495
0
    case 275: /* intersection_type  */
4496
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4497
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4498
0
#line 4499 "/src/php-src/Zend/zend_language_parser.c"
4499
0
        break;
4500
4501
0
    case 276: /* type_expr_without_static  */
4502
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4503
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4504
0
#line 4505 "/src/php-src/Zend/zend_language_parser.c"
4505
0
        break;
4506
4507
0
    case 277: /* type_without_static  */
4508
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4509
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4510
0
#line 4511 "/src/php-src/Zend/zend_language_parser.c"
4511
0
        break;
4512
4513
0
    case 278: /* union_type_without_static_element  */
4514
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4515
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4516
0
#line 4517 "/src/php-src/Zend/zend_language_parser.c"
4517
0
        break;
4518
4519
0
    case 279: /* union_type_without_static  */
4520
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4521
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4522
0
#line 4523 "/src/php-src/Zend/zend_language_parser.c"
4523
0
        break;
4524
4525
0
    case 280: /* intersection_type_without_static  */
4526
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4527
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4528
0
#line 4529 "/src/php-src/Zend/zend_language_parser.c"
4529
0
        break;
4530
4531
0
    case 281: /* return_type  */
4532
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4533
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4534
0
#line 4535 "/src/php-src/Zend/zend_language_parser.c"
4535
0
        break;
4536
4537
0
    case 282: /* argument_list  */
4538
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4539
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4540
0
#line 4541 "/src/php-src/Zend/zend_language_parser.c"
4541
0
        break;
4542
4543
0
    case 283: /* non_empty_argument_list  */
4544
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4545
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4546
0
#line 4547 "/src/php-src/Zend/zend_language_parser.c"
4547
0
        break;
4548
4549
0
    case 284: /* clone_argument_list  */
4550
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4551
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4552
0
#line 4553 "/src/php-src/Zend/zend_language_parser.c"
4553
0
        break;
4554
4555
0
    case 285: /* non_empty_clone_argument_list  */
4556
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4557
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4558
0
#line 4559 "/src/php-src/Zend/zend_language_parser.c"
4559
0
        break;
4560
4561
0
    case 286: /* argument_no_expr  */
4562
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4563
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4564
0
#line 4565 "/src/php-src/Zend/zend_language_parser.c"
4565
0
        break;
4566
4567
0
    case 287: /* argument  */
4568
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4569
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4570
0
#line 4571 "/src/php-src/Zend/zend_language_parser.c"
4571
0
        break;
4572
4573
0
    case 288: /* global_var_list  */
4574
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4575
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4576
0
#line 4577 "/src/php-src/Zend/zend_language_parser.c"
4577
0
        break;
4578
4579
0
    case 289: /* global_var  */
4580
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4581
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4582
0
#line 4583 "/src/php-src/Zend/zend_language_parser.c"
4583
0
        break;
4584
4585
0
    case 290: /* static_var_list  */
4586
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4587
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4588
0
#line 4589 "/src/php-src/Zend/zend_language_parser.c"
4589
0
        break;
4590
4591
0
    case 291: /* static_var  */
4592
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4593
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4594
0
#line 4595 "/src/php-src/Zend/zend_language_parser.c"
4595
0
        break;
4596
4597
0
    case 292: /* class_statement_list  */
4598
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4599
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4600
0
#line 4601 "/src/php-src/Zend/zend_language_parser.c"
4601
0
        break;
4602
4603
0
    case 293: /* attributed_class_statement  */
4604
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4605
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4606
0
#line 4607 "/src/php-src/Zend/zend_language_parser.c"
4607
0
        break;
4608
4609
0
    case 294: /* class_statement  */
4610
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4611
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4612
0
#line 4613 "/src/php-src/Zend/zend_language_parser.c"
4613
0
        break;
4614
4615
0
    case 295: /* class_name_list  */
4616
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4617
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4618
0
#line 4619 "/src/php-src/Zend/zend_language_parser.c"
4619
0
        break;
4620
4621
0
    case 296: /* trait_adaptations  */
4622
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4623
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4624
0
#line 4625 "/src/php-src/Zend/zend_language_parser.c"
4625
0
        break;
4626
4627
0
    case 297: /* trait_adaptation_list  */
4628
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4629
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4630
0
#line 4631 "/src/php-src/Zend/zend_language_parser.c"
4631
0
        break;
4632
4633
0
    case 298: /* trait_adaptation  */
4634
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4635
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4636
0
#line 4637 "/src/php-src/Zend/zend_language_parser.c"
4637
0
        break;
4638
4639
0
    case 299: /* trait_precedence  */
4640
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4641
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4642
0
#line 4643 "/src/php-src/Zend/zend_language_parser.c"
4643
0
        break;
4644
4645
0
    case 300: /* trait_alias  */
4646
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4647
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4648
0
#line 4649 "/src/php-src/Zend/zend_language_parser.c"
4649
0
        break;
4650
4651
0
    case 301: /* trait_method_reference  */
4652
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4653
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4654
0
#line 4655 "/src/php-src/Zend/zend_language_parser.c"
4655
0
        break;
4656
4657
0
    case 302: /* absolute_trait_method_reference  */
4658
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4659
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4660
0
#line 4661 "/src/php-src/Zend/zend_language_parser.c"
4661
0
        break;
4662
4663
0
    case 303: /* method_body  */
4664
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4665
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4666
0
#line 4667 "/src/php-src/Zend/zend_language_parser.c"
4667
0
        break;
4668
4669
0
    case 307: /* non_empty_member_modifiers  */
4670
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4671
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4672
0
#line 4673 "/src/php-src/Zend/zend_language_parser.c"
4673
0
        break;
4674
4675
0
    case 309: /* property_list  */
4676
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4677
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4678
0
#line 4679 "/src/php-src/Zend/zend_language_parser.c"
4679
0
        break;
4680
4681
0
    case 310: /* property  */
4682
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4683
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4684
0
#line 4685 "/src/php-src/Zend/zend_language_parser.c"
4685
0
        break;
4686
4687
0
    case 311: /* hooked_property  */
4688
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4689
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4690
0
#line 4691 "/src/php-src/Zend/zend_language_parser.c"
4691
0
        break;
4692
4693
0
    case 312: /* property_hook_list  */
4694
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4695
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4696
0
#line 4697 "/src/php-src/Zend/zend_language_parser.c"
4697
0
        break;
4698
4699
0
    case 313: /* optional_property_hook_list  */
4700
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4701
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4702
0
#line 4703 "/src/php-src/Zend/zend_language_parser.c"
4703
0
        break;
4704
4705
0
    case 315: /* property_hook  */
4706
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4707
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4708
0
#line 4709 "/src/php-src/Zend/zend_language_parser.c"
4709
0
        break;
4710
4711
0
    case 317: /* property_hook_body  */
4712
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4713
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4714
0
#line 4715 "/src/php-src/Zend/zend_language_parser.c"
4715
0
        break;
4716
4717
0
    case 318: /* optional_parameter_list  */
4718
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4719
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4720
0
#line 4721 "/src/php-src/Zend/zend_language_parser.c"
4721
0
        break;
4722
4723
0
    case 319: /* class_const_list  */
4724
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4725
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4726
0
#line 4727 "/src/php-src/Zend/zend_language_parser.c"
4727
0
        break;
4728
4729
0
    case 320: /* class_const_decl  */
4730
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4731
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4732
0
#line 4733 "/src/php-src/Zend/zend_language_parser.c"
4733
0
        break;
4734
4735
0
    case 321: /* const_decl  */
4736
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4737
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4738
0
#line 4739 "/src/php-src/Zend/zend_language_parser.c"
4739
0
        break;
4740
4741
0
    case 322: /* echo_expr_list  */
4742
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4743
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4744
0
#line 4745 "/src/php-src/Zend/zend_language_parser.c"
4745
0
        break;
4746
4747
0
    case 323: /* echo_expr  */
4748
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4749
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4750
0
#line 4751 "/src/php-src/Zend/zend_language_parser.c"
4751
0
        break;
4752
4753
0
    case 324: /* for_cond_exprs  */
4754
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4755
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4756
0
#line 4757 "/src/php-src/Zend/zend_language_parser.c"
4757
0
        break;
4758
4759
0
    case 325: /* for_exprs  */
4760
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4761
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4762
0
#line 4763 "/src/php-src/Zend/zend_language_parser.c"
4763
0
        break;
4764
4765
0
    case 326: /* non_empty_for_exprs  */
4766
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4767
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4768
0
#line 4769 "/src/php-src/Zend/zend_language_parser.c"
4769
0
        break;
4770
4771
0
    case 327: /* anonymous_class  */
4772
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4773
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4774
0
#line 4775 "/src/php-src/Zend/zend_language_parser.c"
4775
0
        break;
4776
4777
0
    case 329: /* new_dereferenceable  */
4778
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4779
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4780
0
#line 4781 "/src/php-src/Zend/zend_language_parser.c"
4781
0
        break;
4782
4783
0
    case 330: /* new_non_dereferenceable  */
4784
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4785
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4786
0
#line 4787 "/src/php-src/Zend/zend_language_parser.c"
4787
0
        break;
4788
4789
0
    case 331: /* expr  */
4790
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4791
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4792
0
#line 4793 "/src/php-src/Zend/zend_language_parser.c"
4793
0
        break;
4794
4795
0
    case 332: /* inline_function  */
4796
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4797
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4798
0
#line 4799 "/src/php-src/Zend/zend_language_parser.c"
4799
0
        break;
4800
4801
0
    case 335: /* backup_doc_comment  */
4802
0
#line 51 "/src/php-src/Zend/zend_language_parser.y"
4803
0
            { if (((*yyvaluep).str)) zend_string_release_ex(((*yyvaluep).str), 0); }
4804
0
#line 4805 "/src/php-src/Zend/zend_language_parser.c"
4805
0
        break;
4806
4807
0
    case 339: /* lexical_vars  */
4808
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4809
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4810
0
#line 4811 "/src/php-src/Zend/zend_language_parser.c"
4811
0
        break;
4812
4813
0
    case 340: /* lexical_var_list  */
4814
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4815
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4816
0
#line 4817 "/src/php-src/Zend/zend_language_parser.c"
4817
0
        break;
4818
4819
0
    case 341: /* lexical_var  */
4820
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4821
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4822
0
#line 4823 "/src/php-src/Zend/zend_language_parser.c"
4823
0
        break;
4824
4825
0
    case 342: /* function_call  */
4826
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4827
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4828
0
#line 4829 "/src/php-src/Zend/zend_language_parser.c"
4829
0
        break;
4830
4831
0
    case 344: /* class_name  */
4832
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4833
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4834
0
#line 4835 "/src/php-src/Zend/zend_language_parser.c"
4835
0
        break;
4836
4837
0
    case 345: /* class_name_reference  */
4838
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4839
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4840
0
#line 4841 "/src/php-src/Zend/zend_language_parser.c"
4841
0
        break;
4842
4843
0
    case 346: /* backticks_expr  */
4844
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4845
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4846
0
#line 4847 "/src/php-src/Zend/zend_language_parser.c"
4847
0
        break;
4848
4849
0
    case 347: /* ctor_arguments  */
4850
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4851
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4852
0
#line 4853 "/src/php-src/Zend/zend_language_parser.c"
4853
0
        break;
4854
4855
0
    case 348: /* dereferenceable_scalar  */
4856
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4857
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4858
0
#line 4859 "/src/php-src/Zend/zend_language_parser.c"
4859
0
        break;
4860
4861
0
    case 349: /* scalar  */
4862
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4863
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4864
0
#line 4865 "/src/php-src/Zend/zend_language_parser.c"
4865
0
        break;
4866
4867
0
    case 350: /* constant  */
4868
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4869
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4870
0
#line 4871 "/src/php-src/Zend/zend_language_parser.c"
4871
0
        break;
4872
4873
0
    case 351: /* class_constant  */
4874
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4875
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4876
0
#line 4877 "/src/php-src/Zend/zend_language_parser.c"
4877
0
        break;
4878
4879
0
    case 352: /* optional_expr  */
4880
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4881
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4882
0
#line 4883 "/src/php-src/Zend/zend_language_parser.c"
4883
0
        break;
4884
4885
0
    case 353: /* variable_class_name  */
4886
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4887
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4888
0
#line 4889 "/src/php-src/Zend/zend_language_parser.c"
4889
0
        break;
4890
4891
0
    case 354: /* fully_dereferenceable  */
4892
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4893
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4894
0
#line 4895 "/src/php-src/Zend/zend_language_parser.c"
4895
0
        break;
4896
4897
0
    case 355: /* array_object_dereferenceable  */
4898
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4899
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4900
0
#line 4901 "/src/php-src/Zend/zend_language_parser.c"
4901
0
        break;
4902
4903
0
    case 356: /* callable_expr  */
4904
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4905
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4906
0
#line 4907 "/src/php-src/Zend/zend_language_parser.c"
4907
0
        break;
4908
4909
0
    case 357: /* callable_variable  */
4910
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4911
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4912
0
#line 4913 "/src/php-src/Zend/zend_language_parser.c"
4913
0
        break;
4914
4915
0
    case 358: /* variable  */
4916
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4917
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4918
0
#line 4919 "/src/php-src/Zend/zend_language_parser.c"
4919
0
        break;
4920
4921
0
    case 359: /* simple_variable  */
4922
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4923
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4924
0
#line 4925 "/src/php-src/Zend/zend_language_parser.c"
4925
0
        break;
4926
4927
0
    case 360: /* static_member  */
4928
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4929
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4930
0
#line 4931 "/src/php-src/Zend/zend_language_parser.c"
4931
0
        break;
4932
4933
0
    case 361: /* new_variable  */
4934
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4935
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4936
0
#line 4937 "/src/php-src/Zend/zend_language_parser.c"
4937
0
        break;
4938
4939
0
    case 362: /* member_name  */
4940
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4941
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4942
0
#line 4943 "/src/php-src/Zend/zend_language_parser.c"
4943
0
        break;
4944
4945
0
    case 363: /* property_name  */
4946
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4947
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4948
0
#line 4949 "/src/php-src/Zend/zend_language_parser.c"
4949
0
        break;
4950
4951
0
    case 364: /* array_pair_list  */
4952
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4953
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4954
0
#line 4955 "/src/php-src/Zend/zend_language_parser.c"
4955
0
        break;
4956
4957
0
    case 365: /* possible_array_pair  */
4958
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4959
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4960
0
#line 4961 "/src/php-src/Zend/zend_language_parser.c"
4961
0
        break;
4962
4963
0
    case 366: /* non_empty_array_pair_list  */
4964
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4965
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4966
0
#line 4967 "/src/php-src/Zend/zend_language_parser.c"
4967
0
        break;
4968
4969
0
    case 367: /* array_pair  */
4970
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4971
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4972
0
#line 4973 "/src/php-src/Zend/zend_language_parser.c"
4973
0
        break;
4974
4975
0
    case 368: /* encaps_list  */
4976
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4977
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4978
0
#line 4979 "/src/php-src/Zend/zend_language_parser.c"
4979
0
        break;
4980
4981
0
    case 369: /* encaps_var  */
4982
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4983
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4984
0
#line 4985 "/src/php-src/Zend/zend_language_parser.c"
4985
0
        break;
4986
4987
0
    case 370: /* encaps_var_offset  */
4988
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4989
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4990
0
#line 4991 "/src/php-src/Zend/zend_language_parser.c"
4991
0
        break;
4992
4993
0
    case 371: /* internal_functions_in_yacc  */
4994
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
4995
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
4996
0
#line 4997 "/src/php-src/Zend/zend_language_parser.c"
4997
0
        break;
4998
4999
0
    case 372: /* isset_variables  */
5000
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
5001
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
5002
0
#line 5003 "/src/php-src/Zend/zend_language_parser.c"
5003
0
        break;
5004
5005
0
    case 373: /* isset_variable  */
5006
0
#line 50 "/src/php-src/Zend/zend_language_parser.y"
5007
0
            { zend_ast_destroy(((*yyvaluep).ast)); }
5008
0
#line 5009 "/src/php-src/Zend/zend_language_parser.c"
5009
0
        break;
5010
5011
0
      default:
5012
0
        break;
5013
0
    }
5014
0
  YY_IGNORE_MAYBE_UNINITIALIZED_END
5015
0
}
5016
5017
5018
5019
5020
/*----------.
5021
| yyparse.  |
5022
`----------*/
5023
5024
int
5025
yyparse (void)
5026
0
{
5027
/* The lookahead symbol.  */
5028
0
int yychar;
5029
5030
5031
/* The semantic value of the lookahead symbol.  */
5032
/* Default value used for initialization, for pacifying older GCCs
5033
   or non-GCC compilers.  */
5034
0
YY_INITIAL_VALUE (static YYSTYPE yyval_default;)
5035
0
YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
5036
5037
    /* Number of syntax errors so far.  */
5038
0
    int yynerrs;
5039
5040
0
    yy_state_fast_t yystate;
5041
    /* Number of tokens to shift before error messages enabled.  */
5042
0
    int yyerrstatus;
5043
5044
    /* The stacks and their tools:
5045
       'yyss': related to states.
5046
       'yyvs': related to semantic values.
5047
5048
       Refer to the stacks through separate pointers, to allow yyoverflow
5049
       to reallocate them elsewhere.  */
5050
5051
    /* The state stack.  */
5052
0
    yy_state_t yyssa[YYINITDEPTH];
5053
0
    yy_state_t *yyss;
5054
0
    yy_state_t *yyssp;
5055
5056
    /* The semantic value stack.  */
5057
0
    YYSTYPE yyvsa[YYINITDEPTH];
5058
0
    YYSTYPE *yyvs;
5059
0
    YYSTYPE *yyvsp;
5060
5061
0
    YYPTRDIFF_T yystacksize;
5062
5063
0
  int yyn;
5064
0
  int yyresult;
5065
  /* Lookahead token as an internal (translated) token number.  */
5066
0
  int yytoken = 0;
5067
  /* The variables used to return semantic value and location from the
5068
     action routines.  */
5069
0
  YYSTYPE yyval;
5070
5071
0
#if YYERROR_VERBOSE
5072
  /* Buffer for error messages, and its allocated size.  */
5073
0
  char yymsgbuf[128];
5074
0
  char *yymsg = yymsgbuf;
5075
0
  YYPTRDIFF_T yymsg_alloc = sizeof yymsgbuf;
5076
0
#endif
5077
5078
0
#define YYPOPSTACK(N)   (yyvsp -= (N), yyssp -= (N))
5079
5080
  /* The number of symbols on the RHS of the reduced rule.
5081
     Keep to zero when no symbol should be popped.  */
5082
0
  int yylen = 0;
5083
5084
0
  yyssp = yyss = yyssa;
5085
0
  yyvsp = yyvs = yyvsa;
5086
0
  yystacksize = YYINITDEPTH;
5087
5088
0
  YYDPRINTF ((stderr, "Starting parse\n"));
5089
5090
0
  yystate = 0;
5091
0
  yyerrstatus = 0;
5092
0
  yynerrs = 0;
5093
0
  yychar = YYEMPTY; /* Cause a token to be read.  */
5094
0
  goto yysetstate;
5095
5096
5097
/*------------------------------------------------------------.
5098
| yynewstate -- push a new state, which is found in yystate.  |
5099
`------------------------------------------------------------*/
5100
0
yynewstate:
5101
  /* In all cases, when you get here, the value and location stacks
5102
     have just been pushed.  So pushing a state here evens the stacks.  */
5103
0
  yyssp++;
5104
5105
5106
/*--------------------------------------------------------------------.
5107
| yysetstate -- set current state (the top of the stack) to yystate.  |
5108
`--------------------------------------------------------------------*/
5109
0
yysetstate:
5110
0
  YYDPRINTF ((stderr, "Entering state %d\n", yystate));
5111
0
  YY_ASSERT (0 <= yystate && yystate < YYNSTATES);
5112
0
  YY_IGNORE_USELESS_CAST_BEGIN
5113
0
  *yyssp = YY_CAST (yy_state_t, yystate);
5114
0
  YY_IGNORE_USELESS_CAST_END
5115
5116
0
  if (yyss + yystacksize - 1 <= yyssp)
5117
#if !defined yyoverflow && !defined YYSTACK_RELOCATE
5118
    goto yyexhaustedlab;
5119
#else
5120
0
    {
5121
      /* Get the current used size of the three stacks, in elements.  */
5122
0
      YYPTRDIFF_T yysize = yyssp - yyss + 1;
5123
5124
# if defined yyoverflow
5125
      {
5126
        /* Give user a chance to reallocate the stack.  Use copies of
5127
           these so that the &'s don't force the real ones into
5128
           memory.  */
5129
        yy_state_t *yyss1 = yyss;
5130
        YYSTYPE *yyvs1 = yyvs;
5131
5132
        /* Each stack pointer address is followed by the size of the
5133
           data in use in that stack, in bytes.  This used to be a
5134
           conditional around just the two extra args, but that might
5135
           be undefined if yyoverflow is a macro.  */
5136
        yyoverflow (YY_("memory exhausted"),
5137
                    &yyss1, yysize * YYSIZEOF (*yyssp),
5138
                    &yyvs1, yysize * YYSIZEOF (*yyvsp),
5139
                    &yystacksize);
5140
        yyss = yyss1;
5141
        yyvs = yyvs1;
5142
      }
5143
# else /* defined YYSTACK_RELOCATE */
5144
      /* Extend the stack our own way.  */
5145
0
      if (YYMAXDEPTH <= yystacksize)
5146
0
        goto yyexhaustedlab;
5147
0
      yystacksize *= 2;
5148
0
      if (YYMAXDEPTH < yystacksize)
5149
0
        yystacksize = YYMAXDEPTH;
5150
5151
0
      {
5152
0
        yy_state_t *yyss1 = yyss;
5153
0
        union yyalloc *yyptr =
5154
0
          YY_CAST (union yyalloc *,
5155
0
                   YYSTACK_ALLOC (YY_CAST (YYSIZE_T, YYSTACK_BYTES (yystacksize))));
5156
0
        if (! yyptr)
5157
0
          goto yyexhaustedlab;
5158
0
        YYSTACK_RELOCATE (yyss_alloc, yyss);
5159
0
        YYSTACK_RELOCATE (yyvs_alloc, yyvs);
5160
0
# undef YYSTACK_RELOCATE
5161
0
        if (yyss1 != yyssa)
5162
0
          YYSTACK_FREE (yyss1);
5163
0
      }
5164
0
# endif
5165
5166
0
      yyssp = yyss + yysize - 1;
5167
0
      yyvsp = yyvs + yysize - 1;
5168
5169
0
      YY_IGNORE_USELESS_CAST_BEGIN
5170
0
      YYDPRINTF ((stderr, "Stack size increased to %ld\n",
5171
0
                  YY_CAST (long, yystacksize)));
5172
0
      YY_IGNORE_USELESS_CAST_END
5173
5174
0
      if (yyss + yystacksize - 1 <= yyssp)
5175
0
        YYABORT;
5176
0
    }
5177
0
#endif /* !defined yyoverflow && !defined YYSTACK_RELOCATE */
5178
5179
0
  if (yystate == YYFINAL)
5180
0
    YYACCEPT;
5181
5182
0
  goto yybackup;
5183
5184
5185
/*-----------.
5186
| yybackup.  |
5187
`-----------*/
5188
0
yybackup:
5189
  /* Do appropriate processing given the current state.  Read a
5190
     lookahead token if we need one and don't already have one.  */
5191
5192
  /* First try to decide what to do without reference to lookahead token.  */
5193
0
  yyn = yypact[yystate];
5194
0
  if (yypact_value_is_default (yyn))
5195
0
    goto yydefault;
5196
5197
  /* Not known => get a lookahead token if don't already have one.  */
5198
5199
  /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol.  */
5200
0
  if (yychar == YYEMPTY)
5201
0
    {
5202
0
      YYDPRINTF ((stderr, "Reading a token: "));
5203
0
      yychar = yylex (&yylval);
5204
0
    }
5205
5206
0
  if (yychar <= YYEOF)
5207
0
    {
5208
0
      yychar = yytoken = YYEOF;
5209
0
      YYDPRINTF ((stderr, "Now at end of input.\n"));
5210
0
    }
5211
0
  else
5212
0
    {
5213
0
      yytoken = YYTRANSLATE (yychar);
5214
0
      YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
5215
0
    }
5216
5217
  /* If the proper action on seeing token YYTOKEN is to reduce or to
5218
     detect an error, take that action.  */
5219
0
  yyn += yytoken;
5220
0
  if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)
5221
0
    goto yydefault;
5222
0
  yyn = yytable[yyn];
5223
0
  if (yyn <= 0)
5224
0
    {
5225
0
      if (yytable_value_is_error (yyn))
5226
0
        goto yyerrlab;
5227
0
      yyn = -yyn;
5228
0
      goto yyreduce;
5229
0
    }
5230
5231
  /* Count tokens shifted since error; after three, turn off error
5232
     status.  */
5233
0
  if (yyerrstatus)
5234
0
    yyerrstatus--;
5235
5236
  /* Shift the lookahead token.  */
5237
0
  YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
5238
0
  yystate = yyn;
5239
0
  YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
5240
0
  *++yyvsp = yylval;
5241
0
  YY_IGNORE_MAYBE_UNINITIALIZED_END
5242
5243
  /* Discard the shifted token.  */
5244
0
  yychar = YYEMPTY;
5245
0
  goto yynewstate;
5246
5247
5248
/*-----------------------------------------------------------.
5249
| yydefault -- do the default action for the current state.  |
5250
`-----------------------------------------------------------*/
5251
0
yydefault:
5252
0
  yyn = yydefact[yystate];
5253
0
  if (yyn == 0)
5254
0
    goto yyerrlab;
5255
0
  goto yyreduce;
5256
5257
5258
/*-----------------------------.
5259
| yyreduce -- do a reduction.  |
5260
`-----------------------------*/
5261
0
yyreduce:
5262
  /* yyn is the number of a rule to reduce with.  */
5263
0
  yylen = yyr2[yyn];
5264
5265
  /* If YYLEN is nonzero, implement the default value of the action:
5266
     '$$ = $1'.
5267
5268
     Otherwise, the following line sets YYVAL to garbage.
5269
     This behavior is undocumented and Bison
5270
     users should not rely upon it.  Assigning to YYVAL
5271
     unconditionally makes the parser a bit smaller, and it avoids a
5272
     GCC warning that YYVAL may be used uninitialized.  */
5273
0
  yyval = yyvsp[1-yylen];
5274
5275
5276
0
  YY_REDUCE_PRINT (yyn);
5277
0
  switch (yyn)
5278
0
    {
5279
0
  case 2:
5280
0
#line 303 "/src/php-src/Zend/zend_language_parser.y"
5281
0
                                { CG(ast) = (yyvsp[0].ast); (void) zendnerrs; }
5282
0
#line 5283 "/src/php-src/Zend/zend_language_parser.c"
5283
0
    break;
5284
5285
0
  case 84:
5286
0
#line 328 "/src/php-src/Zend/zend_language_parser.y"
5287
0
                         { (yyval.ast) = (yyvsp[0].ast); }
5288
0
#line 5289 "/src/php-src/Zend/zend_language_parser.c"
5289
0
    break;
5290
5291
0
  case 85:
5292
0
#line 329 "/src/php-src/Zend/zend_language_parser.y"
5293
0
                               {
5294
0
      zval zv;
5295
0
      if (zend_lex_tstring(&zv, (yyvsp[0].ident)) == FAILURE) { YYABORT; }
5296
0
      (yyval.ast) = zend_ast_create_zval(&zv);
5297
0
    }
5298
0
#line 5299 "/src/php-src/Zend/zend_language_parser.c"
5299
0
    break;
5300
5301
0
  case 86:
5302
0
#line 337 "/src/php-src/Zend/zend_language_parser.y"
5303
0
                                                 { (yyval.ast) = zend_ast_list_add((yyvsp[-1].ast), (yyvsp[0].ast)); }
5304
0
#line 5305 "/src/php-src/Zend/zend_language_parser.c"
5305
0
    break;
5306
5307
0
  case 87:
5308
0
#line 338 "/src/php-src/Zend/zend_language_parser.y"
5309
0
                       { (yyval.ast) = zend_ast_create_list(0, ZEND_AST_STMT_LIST); }
5310
0
#line 5311 "/src/php-src/Zend/zend_language_parser.c"
5311
0
    break;
5312
5313
0
  case 88:
5314
0
#line 343 "/src/php-src/Zend/zend_language_parser.y"
5315
0
                                                                                        { (yyval.ast) = (yyvsp[0].ast); }
5316
0
#line 5317 "/src/php-src/Zend/zend_language_parser.c"
5317
0
    break;
5318
5319
0
  case 89:
5320
0
#line 344 "/src/php-src/Zend/zend_language_parser.y"
5321
0
                                                                                { (yyval.ast) = (yyvsp[0].ast); }
5322
0
#line 5323 "/src/php-src/Zend/zend_language_parser.c"
5323
0
    break;
5324
5325
0
  case 90:
5326
0
#line 349 "/src/php-src/Zend/zend_language_parser.y"
5327
0
                                                                                        { (yyval.ast) = (yyvsp[0].ast); }
5328
0
#line 5329 "/src/php-src/Zend/zend_language_parser.c"
5329
0
    break;
5330
5331
0
  case 91:
5332
0
#line 350 "/src/php-src/Zend/zend_language_parser.y"
5333
0
                                                                                { (yyval.ast) = (yyvsp[0].ast); }
5334
0
#line 5335 "/src/php-src/Zend/zend_language_parser.c"
5335
0
    break;
5336
5337
0
  case 92:
5338
0
#line 355 "/src/php-src/Zend/zend_language_parser.y"
5339
0
                                                                                { (yyval.ast) = (yyvsp[0].ast); }
5340
0
#line 5341 "/src/php-src/Zend/zend_language_parser.c"
5341
0
    break;
5342
5343
0
  case 93:
5344
0
#line 356 "/src/php-src/Zend/zend_language_parser.y"
5345
0
                                                                        { (yyval.ast) = (yyvsp[0].ast); }
5346
0
#line 5347 "/src/php-src/Zend/zend_language_parser.c"
5347
0
    break;
5348
5349
0
  case 94:
5350
0
#line 360 "/src/php-src/Zend/zend_language_parser.y"
5351
0
                                                                                                { (yyval.ast) = (yyvsp[0].ast); (yyval.ast)->attr = ZEND_NAME_NOT_FQ; }
5352
0
#line 5353 "/src/php-src/Zend/zend_language_parser.c"
5353
0
    break;
5354
5355
0
  case 95:
5356
0
#line 361 "/src/php-src/Zend/zend_language_parser.y"
5357
0
                                                                                        { (yyval.ast) = (yyvsp[0].ast); (yyval.ast)->attr = ZEND_NAME_NOT_FQ; }
5358
0
#line 5359 "/src/php-src/Zend/zend_language_parser.c"
5359
0
    break;
5360
5361
0
  case 96:
5362
0
#line 362 "/src/php-src/Zend/zend_language_parser.y"
5363
0
                                                                                { (yyval.ast) = (yyvsp[0].ast); (yyval.ast)->attr = ZEND_NAME_FQ; }
5364
0
#line 5365 "/src/php-src/Zend/zend_language_parser.c"
5365
0
    break;
5366
5367
0
  case 97:
5368
0
#line 363 "/src/php-src/Zend/zend_language_parser.y"
5369
0
                                                                                        { (yyval.ast) = (yyvsp[0].ast); (yyval.ast)->attr = ZEND_NAME_RELATIVE; }
5370
0
#line 5371 "/src/php-src/Zend/zend_language_parser.c"
5371
0
    break;
5372
5373
0
  case 98:
5374
0
#line 368 "/src/php-src/Zend/zend_language_parser.y"
5375
0
                        { (yyval.ast) = zend_ast_create(ZEND_AST_ATTRIBUTE, (yyvsp[0].ast), NULL); }
5376
0
#line 5377 "/src/php-src/Zend/zend_language_parser.c"
5377
0
    break;
5378
5379
0
  case 99:
5380
0
#line 370 "/src/php-src/Zend/zend_language_parser.y"
5381
0
                        { (yyval.ast) = zend_ast_create(ZEND_AST_ATTRIBUTE, (yyvsp[-1].ast), (yyvsp[0].ast)); }
5382
0
#line 5383 "/src/php-src/Zend/zend_language_parser.c"
5383
0
    break;
5384
5385
0
  case 100:
5386
0
#line 375 "/src/php-src/Zend/zend_language_parser.y"
5387
0
                        { (yyval.ast) = zend_ast_create_list(1, ZEND_AST_ATTRIBUTE_GROUP, (yyvsp[0].ast)); }
5388
0
#line 5389 "/src/php-src/Zend/zend_language_parser.c"
5389
0
    break;
5390
5391
0
  case 101:
5392
0
#line 377 "/src/php-src/Zend/zend_language_parser.y"
5393
0
                        { (yyval.ast) = zend_ast_list_add((yyvsp[-2].ast), (yyvsp[0].ast)); }
5394
0
#line 5395 "/src/php-src/Zend/zend_language_parser.c"
5395
0
    break;
5396
5397
0
  case 102:
5398
0
#line 381 "/src/php-src/Zend/zend_language_parser.y"
5399
0
                                                                                        { (yyval.ast) = (yyvsp[-2].ast); CG(doc_comment) = (yyvsp[-3].str); }
5400
0
#line 5401 "/src/php-src/Zend/zend_language_parser.c"
5401
0
    break;
5402
5403
0
  case 103:
5404
0
#line 385 "/src/php-src/Zend/zend_language_parser.y"
5405
0
                                                        { (yyval.ast) = zend_ast_create_list(1, ZEND_AST_ATTRIBUTE_LIST, (yyvsp[0].ast)); }
5406
0
#line 5407 "/src/php-src/Zend/zend_language_parser.c"
5407
0
    break;
5408
5409
0
  case 104:
5410
0
#line 386 "/src/php-src/Zend/zend_language_parser.y"
5411
0
                                        { (yyval.ast) = zend_ast_list_add((yyvsp[-1].ast), (yyvsp[0].ast)); }
5412
0
#line 5413 "/src/php-src/Zend/zend_language_parser.c"
5413
0
    break;
5414
5415
0
  case 105:
5416
0
#line 390 "/src/php-src/Zend/zend_language_parser.y"
5417
0
                                                        { (yyval.ast) = (yyvsp[0].ast); }
5418
0
#line 5419 "/src/php-src/Zend/zend_language_parser.c"
5419
0
    break;
5420
5421
0
  case 106:
5422
0
#line 391 "/src/php-src/Zend/zend_language_parser.y"
5423
0
                                                                { (yyval.ast) = (yyvsp[0].ast); }
5424
0
#line 5425 "/src/php-src/Zend/zend_language_parser.c"
5425
0
    break;
5426
5427
0
  case 107:
5428
0
#line 392 "/src/php-src/Zend/zend_language_parser.y"
5429
0
                                                                { (yyval.ast) = (yyvsp[0].ast); }
5430
0
#line 5431 "/src/php-src/Zend/zend_language_parser.c"
5431
0
    break;
5432
5433
0
  case 108:
5434
0
#line 393 "/src/php-src/Zend/zend_language_parser.y"
5435
0
                                                        { (yyval.ast) = (yyvsp[0].ast); }
5436
0
#line 5437 "/src/php-src/Zend/zend_language_parser.c"
5437
0
    break;
5438
5439
0
  case 109:
5440
0
#line 394 "/src/php-src/Zend/zend_language_parser.y"
5441
0
                                                                { (yyval.ast) = (yyvsp[0].ast); }
5442
0
#line 5443 "/src/php-src/Zend/zend_language_parser.c"
5443
0
    break;
5444
5445
0
  case 110:
5446
0
#line 398 "/src/php-src/Zend/zend_language_parser.y"
5447
0
                                                                { (yyval.ast) = (yyvsp[0].ast); }
5448
0
#line 5449 "/src/php-src/Zend/zend_language_parser.c"
5449
0
    break;
5450
5451
0
  case 111:
5452
0
#line 399 "/src/php-src/Zend/zend_language_parser.y"
5453
0
                                                                { (yyval.ast) = (yyvsp[-1].ast); }
5454
0
#line 5455 "/src/php-src/Zend/zend_language_parser.c"
5455
0
    break;
5456
5457
0
  case 112:
5458
0
#line 403 "/src/php-src/Zend/zend_language_parser.y"
5459
0
                                                                                { (yyval.ast) = (yyvsp[0].ast); }
5460
0
#line 5461 "/src/php-src/Zend/zend_language_parser.c"
5461
0
    break;
5462
5463
0
  case 113:
5464
0
#line 404 "/src/php-src/Zend/zend_language_parser.y"
5465
0
                                                                { (yyval.ast) = (yyvsp[0].ast); }
5466
0
#line 5467 "/src/php-src/Zend/zend_language_parser.c"
5467
0
    break;
5468
5469
0
  case 114:
5470
0
#line 405 "/src/php-src/Zend/zend_language_parser.y"
5471
0
                                                        { (yyval.ast) = zend_ast_with_attributes((yyvsp[0].ast), (yyvsp[-1].ast)); }
5472
0
#line 5473 "/src/php-src/Zend/zend_language_parser.c"
5473
0
    break;
5474
5475
0
  case 115:
5476
0
#line 407 "/src/php-src/Zend/zend_language_parser.y"
5477
0
                        { (yyval.ast) = zend_ast_create(ZEND_AST_HALT_COMPILER,
5478
0
            zend_ast_create_zval_from_long(zend_get_scanned_file_offset()));
5479
0
        zend_stop_lexing(); }
5480
0
#line 5481 "/src/php-src/Zend/zend_language_parser.c"
5481
0
    break;
5482
5483
0
  case 116:
5484
0
#line 411 "/src/php-src/Zend/zend_language_parser.y"
5485
0
                        { (yyval.ast) = zend_ast_create(ZEND_AST_NAMESPACE, (yyvsp[-1].ast), NULL);
5486
0
        RESET_DOC_COMMENT(); }
5487
0
#line 5488 "/src/php-src/Zend/zend_language_parser.c"
5488
0
    break;
5489
5490
0
  case 117:
5491
0
#line 413 "/src/php-src/Zend/zend_language_parser.y"
5492
0
                                                       { RESET_DOC_COMMENT(); }
5493
0
#line 5494 "/src/php-src/Zend/zend_language_parser.c"
5494
0
    break;
5495
5496
0
  case 118:
5497
0
#line 415 "/src/php-src/Zend/zend_language_parser.y"
5498
0
                        { (yyval.ast) = zend_ast_create(ZEND_AST_NAMESPACE, (yyvsp[-4].ast), (yyvsp[-1].ast)); }
5499
0
#line 5500 "/src/php-src/Zend/zend_language_parser.c"
5500
0
    break;
5501
5502
0
  case 119:
5503
0
#line 416 "/src/php-src/Zend/zend_language_parser.y"
5504
0
                            { RESET_DOC_COMMENT(); }
5505
0
#line 5506 "/src/php-src/Zend/zend_language_parser.c"
5506
0
    break;
5507
5508
0
  case 120:
5509
0
#line 418 "/src/php-src/Zend/zend_language_parser.y"
5510
0
                        { (yyval.ast) = zend_ast_create(ZEND_AST_NAMESPACE, NULL, (yyvsp[-1].ast)); }
5511
0
#line 5512 "/src/php-src/Zend/zend_language_parser.c"
5512
0
    break;
5513
5514
0
  case 121:
5515
0
#line 419 "/src/php-src/Zend/zend_language_parser.y"
5516
0
                                                                { (yyval.ast) = (yyvsp[-1].ast); }
5517
0
#line 5518 "/src/php-src/Zend/zend_language_parser.c"
5518
0
    break;
5519
5520
0
  case 122:
5521
0
#line 420 "/src/php-src/Zend/zend_language_parser.y"
5522
0
                                                                { (yyval.ast) = (yyvsp[-1].ast); (yyval.ast)->attr = (yyvsp[-2].num); }
5523
0
#line 5524 "/src/php-src/Zend/zend_language_parser.c"
5524
0
    break;
5525
5526
0
  case 123:
5527
0
#line 421 "/src/php-src/Zend/zend_language_parser.y"
5528
0
                                                                                { (yyval.ast) = (yyvsp[-1].ast); (yyval.ast)->attr = ZEND_SYMBOL_CLASS; }
5529
0
#line 5530 "/src/php-src/Zend/zend_language_parser.c"
5530
0
    break;
5531
5532
0
  case 124:
5533
0
#line 422 "/src/php-src/Zend/zend_language_parser.y"
5534
0
                                                                        { (yyval.ast) = (yyvsp[-1].ast); (yyval.ast)->attr = (yyvsp[-2].num); }
5535
0
#line 5536 "/src/php-src/Zend/zend_language_parser.c"
5536
0
    break;
5537
5538
0
  case 125:
5539
0
#line 426 "/src/php-src/Zend/zend_language_parser.y"
5540
0
                                        { (yyval.num) = ZEND_SYMBOL_FUNCTION; }
5541
0
#line 5542 "/src/php-src/Zend/zend_language_parser.c"
5542
0
    break;
5543
5544
0
  case 126:
5545
0
#line 427 "/src/php-src/Zend/zend_language_parser.y"
5546
0
                                        { (yyval.num) = ZEND_SYMBOL_CONST; }
5547
0
#line 5548 "/src/php-src/Zend/zend_language_parser.c"
5548
0
    break;
5549
5550
0
  case 127:
5551
0
#line 432 "/src/php-src/Zend/zend_language_parser.y"
5552
0
                        { (yyval.ast) = zend_ast_create(ZEND_AST_GROUP_USE, (yyvsp[-5].ast), (yyvsp[-2].ast)); }
5553
0
#line 5554 "/src/php-src/Zend/zend_language_parser.c"
5554
0
    break;
5555
5556
0
  case 128:
5557
0
#line 437 "/src/php-src/Zend/zend_language_parser.y"
5558
0
                        { (yyval.ast) = zend_ast_create(ZEND_AST_GROUP_USE, (yyvsp[-5].ast), (yyvsp[-2].ast));}
5559
0
#line 5560 "/src/php-src/Zend/zend_language_parser.c"
5560
0
    break;
5561
5562
0
  case 131:
5563
0
#line 447 "/src/php-src/Zend/zend_language_parser.y"
5564
0
                        { (yyval.ast) = zend_ast_list_add((yyvsp[-2].ast), (yyvsp[0].ast)); }
5565
0
#line 5566 "/src/php-src/Zend/zend_language_parser.c"
5566
0
    break;
5567
5568
0
  case 132:
5569
0
#line 449 "/src/php-src/Zend/zend_language_parser.y"
5570
0
                        { (yyval.ast) = zend_ast_create_list(1, ZEND_AST_USE, (yyvsp[0].ast)); }
5571
0
#line 5572 "/src/php-src/Zend/zend_language_parser.c"
5572
0
    break;
5573
5574
0
  case 133:
5575
0
#line 454 "/src/php-src/Zend/zend_language_parser.y"
5576
0
                        { (yyval.ast) = zend_ast_list_add((yyvsp[-2].ast), (yyvsp[0].ast)); }
5577
0
#line 5578 "/src/php-src/Zend/zend_language_parser.c"
5578
0
    break;
5579
5580
0
  case 134:
5581
0
#line 456 "/src/php-src/Zend/zend_language_parser.y"
5582
0
                        { (yyval.ast) = zend_ast_create_list(1, ZEND_AST_USE, (yyvsp[0].ast)); }
5583
0
#line 5584 "/src/php-src/Zend/zend_language_parser.c"
5584
0
    break;
5585
5586
0
  case 135:
5587
0
#line 461 "/src/php-src/Zend/zend_language_parser.y"
5588
0
                        { (yyval.ast) = zend_ast_list_add((yyvsp[-2].ast), (yyvsp[0].ast)); }
5589
0
#line 5590 "/src/php-src/Zend/zend_language_parser.c"
5590
0
    break;
5591
5592
0
  case 136:
5593
0
#line 463 "/src/php-src/Zend/zend_language_parser.y"
5594
0
                        { (yyval.ast) = zend_ast_create_list(1, ZEND_AST_USE, (yyvsp[0].ast)); }
5595
0
#line 5596 "/src/php-src/Zend/zend_language_parser.c"
5596
0
    break;
5597
5598
0
  case 137:
5599
0
#line 467 "/src/php-src/Zend/zend_language_parser.y"
5600
0
                                           { (yyval.ast) = (yyvsp[0].ast); (yyval.ast)->attr = ZEND_SYMBOL_CLASS; }
5601
0
#line 5602 "/src/php-src/Zend/zend_language_parser.c"
5602
0
    break;
5603
5604
0
  case 138:
5605
0
#line 468 "/src/php-src/Zend/zend_language_parser.y"
5606
0
                                                    { (yyval.ast) = (yyvsp[0].ast); (yyval.ast)->attr = (yyvsp[-1].num); }
5607
0
#line 5608 "/src/php-src/Zend/zend_language_parser.c"
5608
0
    break;
5609
5610
0
  case 139:
5611
0
#line 473 "/src/php-src/Zend/zend_language_parser.y"
5612
0
                        { (yyval.ast) = zend_ast_create(ZEND_AST_USE_ELEM, (yyvsp[0].ast), NULL); }
5613
0
#line 5614 "/src/php-src/Zend/zend_language_parser.c"
5614
0
    break;
5615
5616
0
  case 140:
5617
0
#line 475 "/src/php-src/Zend/zend_language_parser.y"
5618
0
                        { (yyval.ast) = zend_ast_create(ZEND_AST_USE_ELEM, (yyvsp[-2].ast), (yyvsp[0].ast)); }
5619
0
#line 5620 "/src/php-src/Zend/zend_language_parser.c"
5620
0
    break;
5621
5622
0
  case 141:
5623
0
#line 480 "/src/php-src/Zend/zend_language_parser.y"
5624
0
                        { (yyval.ast) = zend_ast_create(ZEND_AST_USE_ELEM, (yyvsp[0].ast), NULL); }
5625
0
#line 5626 "/src/php-src/Zend/zend_language_parser.c"
5626
0
    break;
5627
5628
0
  case 142:
5629
0
#line 482 "/src/php-src/Zend/zend_language_parser.y"
5630
0
                        { (yyval.ast) = zend_ast_create(ZEND_AST_USE_ELEM, (yyvsp[-2].ast), (yyvsp[0].ast)); }
5631
0
#line 5632 "/src/php-src/Zend/zend_language_parser.c"
5632
0
    break;
5633
5634
0
  case 143:
5635
0
#line 486 "/src/php-src/Zend/zend_language_parser.y"
5636
0
                                          { (yyval.ast) = zend_ast_list_add((yyvsp[-2].ast), (yyvsp[0].ast)); }
5637
0
#line 5638 "/src/php-src/Zend/zend_language_parser.c"
5638
0
    break;
5639
5640
0
  case 144:
5641
0
#line 487 "/src/php-src/Zend/zend_language_parser.y"
5642
0
                           { (yyval.ast) = zend_ast_create_list(1, ZEND_AST_CONST_DECL, (yyvsp[0].ast)); }
5643
0
#line 5644 "/src/php-src/Zend/zend_language_parser.c"
5644
0
    break;
5645
5646
0
  case 145:
5647
0
#line 492 "/src/php-src/Zend/zend_language_parser.y"
5648
0
                        { (yyval.ast) = zend_ast_list_add((yyvsp[-1].ast), (yyvsp[0].ast)); }
5649
0
#line 5650 "/src/php-src/Zend/zend_language_parser.c"
5650
0
    break;
5651
5652
0
  case 146:
5653
0
#line 494 "/src/php-src/Zend/zend_language_parser.y"
5654
0
                        { (yyval.ast) = zend_ast_create_list(0, ZEND_AST_STMT_LIST); }
5655
0
#line 5656 "/src/php-src/Zend/zend_language_parser.c"
5656
0
    break;
5657
5658
0
  case 147:
5659
0
#line 499 "/src/php-src/Zend/zend_language_parser.y"
5660
0
                          { (yyval.ast) = (yyvsp[0].ast); }
5661
0
#line 5662 "/src/php-src/Zend/zend_language_parser.c"
5662
0
    break;
5663
5664
0
  case 148:
5665
0
#line 500 "/src/php-src/Zend/zend_language_parser.y"
5666
0
                                                                        { (yyval.ast) = (yyvsp[0].ast); }
5667
0
#line 5668 "/src/php-src/Zend/zend_language_parser.c"
5668
0
    break;
5669
5670
0
  case 149:
5671
0
#line 501 "/src/php-src/Zend/zend_language_parser.y"
5672
0
                                                        { (yyval.ast) = zend_ast_with_attributes((yyvsp[0].ast), (yyvsp[-1].ast)); }
5673
0
#line 5674 "/src/php-src/Zend/zend_language_parser.c"
5674
0
    break;
5675
5676
0
  case 150:
5677
0
#line 503 "/src/php-src/Zend/zend_language_parser.y"
5678
0
                        { (yyval.ast) = NULL; zend_throw_exception(zend_ce_compile_error,
5679
0
            "__HALT_COMPILER() can only be used from the outermost scope", 0); YYERROR; }
5680
0
#line 5681 "/src/php-src/Zend/zend_language_parser.c"
5681
0
    break;
5682
5683
0
  case 151:
5684
0
#line 509 "/src/php-src/Zend/zend_language_parser.y"
5685
0
                                             { (yyval.ast) = (yyvsp[-1].ast); }
5686
0
#line 5687 "/src/php-src/Zend/zend_language_parser.c"
5687
0
    break;
5688
5689
0
  case 152:
5690
0
#line 510 "/src/php-src/Zend/zend_language_parser.y"
5691
0
                        { (yyval.ast) = (yyvsp[0].ast); }
5692
0
#line 5693 "/src/php-src/Zend/zend_language_parser.c"
5693
0
    break;
5694
5695
0
  case 153:
5696
0
#line 511 "/src/php-src/Zend/zend_language_parser.y"
5697
0
                            { (yyval.ast) = (yyvsp[0].ast); }
5698
0
#line 5699 "/src/php-src/Zend/zend_language_parser.c"
5699
0
    break;
5700
5701
0
  case 154:
5702
0
#line 513 "/src/php-src/Zend/zend_language_parser.y"
5703
0
                        { (yyval.ast) = zend_ast_create(ZEND_AST_WHILE, (yyvsp[-2].ast), (yyvsp[0].ast)); }
5704
0
#line 5705 "/src/php-src/Zend/zend_language_parser.c"
5705
0
    break;
5706
5707
0
  case 155:
5708
0
#line 515 "/src/php-src/Zend/zend_language_parser.y"
5709
0
                        { (yyval.ast) = zend_ast_create(ZEND_AST_DO_WHILE, (yyvsp[-5].ast), (yyvsp[-2].ast)); }
5710
0
#line 5711 "/src/php-src/Zend/zend_language_parser.c"
5711
0
    break;
5712
5713
0
  case 156:
5714
0
#line 517 "/src/php-src/Zend/zend_language_parser.y"
5715
0
                        { (yyval.ast) = zend_ast_create(ZEND_AST_FOR, (yyvsp[-6].ast), (yyvsp[-4].ast), (yyvsp[-2].ast), (yyvsp[0].ast)); }
5716
0
#line 5717 "/src/php-src/Zend/zend_language_parser.c"
5717
0
    break;
5718
5719
0
  case 157:
5720
0
#line 519 "/src/php-src/Zend/zend_language_parser.y"
5721
0
                        { (yyval.ast) = zend_ast_create(ZEND_AST_SWITCH, (yyvsp[-2].ast), (yyvsp[0].ast)); }
5722
0
#line 5723 "/src/php-src/Zend/zend_language_parser.c"
5723
0
    break;
5724
5725
0
  case 158:
5726
0
#line 520 "/src/php-src/Zend/zend_language_parser.y"
5727
0
                                                        { (yyval.ast) = zend_ast_create(ZEND_AST_BREAK, (yyvsp[-1].ast)); }
5728
0
#line 5729 "/src/php-src/Zend/zend_language_parser.c"
5729
0
    break;
5730
5731
0
  case 159:
5732
0
#line 521 "/src/php-src/Zend/zend_language_parser.y"
5733
0
                                                { (yyval.ast) = zend_ast_create(ZEND_AST_CONTINUE, (yyvsp[-1].ast)); }
5734
0
#line 5735 "/src/php-src/Zend/zend_language_parser.c"
5735
0
    break;
5736
5737
0
  case 160:
5738
0
#line 522 "/src/php-src/Zend/zend_language_parser.y"
5739
0
                                                        { (yyval.ast) = zend_ast_create(ZEND_AST_RETURN, (yyvsp[-1].ast)); }
5740
0
#line 5741 "/src/php-src/Zend/zend_language_parser.c"
5741
0
    break;
5742
5743
0
  case 161:
5744
0
#line 523 "/src/php-src/Zend/zend_language_parser.y"
5745
0
                                                { (yyval.ast) = (yyvsp[-1].ast); }
5746
0
#line 5747 "/src/php-src/Zend/zend_language_parser.c"
5747
0
    break;
5748
5749
0
  case 162:
5750
0
#line 524 "/src/php-src/Zend/zend_language_parser.y"
5751
0
                                                { (yyval.ast) = (yyvsp[-1].ast); }
5752
0
#line 5753 "/src/php-src/Zend/zend_language_parser.c"
5753
0
    break;
5754
5755
0
  case 163:
5756
0
#line 525 "/src/php-src/Zend/zend_language_parser.y"
5757
0
                                                        { (yyval.ast) = (yyvsp[-1].ast); }
5758
0
#line 5759 "/src/php-src/Zend/zend_language_parser.c"
5759
0
    break;
5760
5761
0
  case 164:
5762
0
#line 526 "/src/php-src/Zend/zend_language_parser.y"
5763
0
                              { (yyval.ast) = zend_ast_create(ZEND_AST_ECHO, (yyvsp[0].ast)); }
5764
0
#line 5765 "/src/php-src/Zend/zend_language_parser.c"
5765
0
    break;
5766
5767
0
  case 165:
5768
0
#line 527 "/src/php-src/Zend/zend_language_parser.y"
5769
0
                         { (yyval.ast) = (yyvsp[-1].ast); }
5770
0
#line 5771 "/src/php-src/Zend/zend_language_parser.c"
5771
0
    break;
5772
5773
0
  case 166:
5774
0
#line 528 "/src/php-src/Zend/zend_language_parser.y"
5775
0
                                                                   { (yyval.ast) = (yyvsp[-3].ast); }
5776
0
#line 5777 "/src/php-src/Zend/zend_language_parser.c"
5777
0
    break;
5778
5779
0
  case 167:
5780
0
#line 530 "/src/php-src/Zend/zend_language_parser.y"
5781
0
                        { (yyval.ast) = zend_ast_create(ZEND_AST_FOREACH, (yyvsp[-4].ast), (yyvsp[-2].ast), NULL, (yyvsp[0].ast)); }
5782
0
#line 5783 "/src/php-src/Zend/zend_language_parser.c"
5783
0
    break;
5784
5785
0
  case 168:
5786
0
#line 533 "/src/php-src/Zend/zend_language_parser.y"
5787
0
                        { (yyval.ast) = zend_ast_create(ZEND_AST_FOREACH, (yyvsp[-6].ast), (yyvsp[-2].ast), (yyvsp[-4].ast), (yyvsp[0].ast)); }
5788
0
#line 5789 "/src/php-src/Zend/zend_language_parser.c"
5789
0
    break;
5790
5791
0
  case 169:
5792
0
#line 535 "/src/php-src/Zend/zend_language_parser.y"
5793
0
                        { if (!zend_handle_encoding_declaration((yyvsp[-1].ast))) { YYERROR; } }
5794
0
#line 5795 "/src/php-src/Zend/zend_language_parser.c"
5795
0
    break;
5796
5797
0
  case 170:
5798
0
#line 537 "/src/php-src/Zend/zend_language_parser.y"
5799
0
                        { (yyval.ast) = zend_ast_create(ZEND_AST_DECLARE, (yyvsp[-3].ast), (yyvsp[0].ast)); }
5800
0
#line 5801 "/src/php-src/Zend/zend_language_parser.c"
5801
0
    break;
5802
5803
0
  case 171:
5804
0
#line 538 "/src/php-src/Zend/zend_language_parser.y"
5805
0
                                              { (yyval.ast) = NULL; }
5806
0
#line 5807 "/src/php-src/Zend/zend_language_parser.c"
5807
0
    break;
5808
5809
0
  case 172:
5810
0
#line 540 "/src/php-src/Zend/zend_language_parser.y"
5811
0
                        { (yyval.ast) = zend_ast_create(ZEND_AST_TRY, (yyvsp[-3].ast), (yyvsp[-1].ast), (yyvsp[0].ast)); }
5812
0
#line 5813 "/src/php-src/Zend/zend_language_parser.c"
5813
0
    break;
5814
5815
0
  case 173:
5816
0
#line 541 "/src/php-src/Zend/zend_language_parser.y"
5817
0
                                    { (yyval.ast) = zend_ast_create(ZEND_AST_GOTO, (yyvsp[-1].ast)); }
5818
0
#line 5819 "/src/php-src/Zend/zend_language_parser.c"
5819
0
    break;
5820
5821
0
  case 174:
5822
0
#line 542 "/src/php-src/Zend/zend_language_parser.y"
5823
0
                             { (yyval.ast) = zend_ast_create(ZEND_AST_LABEL, (yyvsp[-1].ast)); }
5824
0
#line 5825 "/src/php-src/Zend/zend_language_parser.c"
5825
0
    break;
5826
5827
0
  case 175:
5828
0
#line 543 "/src/php-src/Zend/zend_language_parser.y"
5829
0
                                     { (yyval.ast) = zend_ast_create(ZEND_AST_CAST_VOID, (yyvsp[-1].ast)); }
5830
0
#line 5831 "/src/php-src/Zend/zend_language_parser.c"
5831
0
    break;
5832
5833
0
  case 176:
5834
0
#line 548 "/src/php-src/Zend/zend_language_parser.y"
5835
0
                        { (yyval.ast) = zend_ast_create_list(0, ZEND_AST_CATCH_LIST); }
5836
0
#line 5837 "/src/php-src/Zend/zend_language_parser.c"
5837
0
    break;
5838
5839
0
  case 177:
5840
0
#line 550 "/src/php-src/Zend/zend_language_parser.y"
5841
0
                        { (yyval.ast) = zend_ast_list_add((yyvsp[-8].ast), zend_ast_create(ZEND_AST_CATCH, (yyvsp[-5].ast), (yyvsp[-4].ast), (yyvsp[-1].ast))); }
5842
0
#line 5843 "/src/php-src/Zend/zend_language_parser.c"
5843
0
    break;
5844
5845
0
  case 178:
5846
0
#line 554 "/src/php-src/Zend/zend_language_parser.y"
5847
0
                           { (yyval.ast) = zend_ast_create_list(1, ZEND_AST_NAME_LIST, (yyvsp[0].ast)); }
5848
0
#line 5849 "/src/php-src/Zend/zend_language_parser.c"
5849
0
    break;
5850
5851
0
  case 179:
5852
0
#line 555 "/src/php-src/Zend/zend_language_parser.y"
5853
0
                                               { (yyval.ast) = zend_ast_list_add((yyvsp[-2].ast), (yyvsp[0].ast)); }
5854
0
#line 5855 "/src/php-src/Zend/zend_language_parser.c"
5855
0
    break;
5856
5857
0
  case 180:
5858
0
#line 559 "/src/php-src/Zend/zend_language_parser.y"
5859
0
                       { (yyval.ast) = NULL; }
5860
0
#line 5861 "/src/php-src/Zend/zend_language_parser.c"
5861
0
    break;
5862
5863
0
  case 181:
5864
0
#line 560 "/src/php-src/Zend/zend_language_parser.y"
5865
0
                           { (yyval.ast) = (yyvsp[0].ast); }
5866
0
#line 5867 "/src/php-src/Zend/zend_language_parser.c"
5867
0
    break;
5868
5869
0
  case 182:
5870
0
#line 564 "/src/php-src/Zend/zend_language_parser.y"
5871
0
                       { (yyval.ast) = NULL; }
5872
0
#line 5873 "/src/php-src/Zend/zend_language_parser.c"
5873
0
    break;
5874
5875
0
  case 183:
5876
0
#line 565 "/src/php-src/Zend/zend_language_parser.y"
5877
0
                                                       { (yyval.ast) = (yyvsp[-1].ast); }
5878
0
#line 5879 "/src/php-src/Zend/zend_language_parser.c"
5879
0
    break;
5880
5881
0
  case 184:
5882
0
#line 569 "/src/php-src/Zend/zend_language_parser.y"
5883
0
                               { (yyval.ast) = zend_ast_create_list(1, ZEND_AST_STMT_LIST, (yyvsp[0].ast)); }
5884
0
#line 5885 "/src/php-src/Zend/zend_language_parser.c"
5885
0
    break;
5886
5887
0
  case 185:
5888
0
#line 570 "/src/php-src/Zend/zend_language_parser.y"
5889
0
                                                   { (yyval.ast) = zend_ast_list_add((yyvsp[-2].ast), (yyvsp[0].ast)); }
5890
0
#line 5891 "/src/php-src/Zend/zend_language_parser.c"
5891
0
    break;
5892
5893
0
  case 186:
5894
0
#line 574 "/src/php-src/Zend/zend_language_parser.y"
5895
0
                         { (yyval.ast) = zend_ast_create(ZEND_AST_UNSET, (yyvsp[0].ast)); }
5896
0
#line 5897 "/src/php-src/Zend/zend_language_parser.c"
5897
0
    break;
5898
5899
0
  case 187:
5900
0
#line 578 "/src/php-src/Zend/zend_language_parser.y"
5901
0
                         { (yyval.ast) = (yyvsp[0].ast); }
5902
0
#line 5903 "/src/php-src/Zend/zend_language_parser.c"
5903
0
    break;
5904
5905
0
  case 188:
5906
0
#line 579 "/src/php-src/Zend/zend_language_parser.y"
5907
0
                           {
5908
0
      zval zv;
5909
0
      if (zend_lex_tstring(&zv, (yyvsp[0].ident)) == FAILURE) { YYABORT; }
5910
0
      (yyval.ast) = zend_ast_create_zval(&zv);
5911
0
    }
5912
0
#line 5913 "/src/php-src/Zend/zend_language_parser.c"
5913
0
    break;
5914
5915
0
  case 189:
5916
0
#line 589 "/src/php-src/Zend/zend_language_parser.y"
5917
0
                { (yyval.ast) = zend_ast_create_decl(ZEND_AST_FUNC_DECL, (yyvsp[-11].num) | (yyvsp[0].num), (yyvsp[-12].num), (yyvsp[-9].str),
5918
0
          zend_ast_get_str((yyvsp[-10].ast)), (yyvsp[-7].ast), NULL, (yyvsp[-2].ast), (yyvsp[-5].ast), NULL); CG(extra_fn_flags) = (yyvsp[-4].num); }
5919
0
#line 5920 "/src/php-src/Zend/zend_language_parser.c"
5920
0
    break;
5921
5922
0
  case 190:
5923
0
#line 594 "/src/php-src/Zend/zend_language_parser.y"
5924
0
                        { (yyval.num) = 0; }
5925
0
#line 5926 "/src/php-src/Zend/zend_language_parser.c"
5926
0
    break;
5927
5928
0
  case 191:
5929
0
#line 595 "/src/php-src/Zend/zend_language_parser.y"
5930
0
                                                        { (yyval.num) = ZEND_PARAM_REF; }
5931
0
#line 5932 "/src/php-src/Zend/zend_language_parser.c"
5932
0
    break;
5933
5934
0
  case 192:
5935
0
#line 599 "/src/php-src/Zend/zend_language_parser.y"
5936
0
                       { (yyval.num) = 0; }
5937
0
#line 5938 "/src/php-src/Zend/zend_language_parser.c"
5938
0
    break;
5939
5940
0
  case 193:
5941
0
#line 600 "/src/php-src/Zend/zend_language_parser.y"
5942
0
                            { (yyval.num) = ZEND_PARAM_VARIADIC; }
5943
0
#line 5944 "/src/php-src/Zend/zend_language_parser.c"
5944
0
    break;
5945
5946
0
  case 194:
5947
0
#line 604 "/src/php-src/Zend/zend_language_parser.y"
5948
0
                                        { (yyval.num) = CG(zend_lineno); }
5949
0
#line 5950 "/src/php-src/Zend/zend_language_parser.c"
5950
0
    break;
5951
5952
0
  case 195:
5953
0
#line 606 "/src/php-src/Zend/zend_language_parser.y"
5954
0
                        { (yyval.ast) = zend_ast_create_decl(ZEND_AST_CLASS, (yyvsp[-9].num), (yyvsp[-7].num), (yyvsp[-3].str), zend_ast_get_str((yyvsp[-6].ast)), (yyvsp[-5].ast), (yyvsp[-4].ast), (yyvsp[-1].ast), NULL, NULL); }
5955
0
#line 5956 "/src/php-src/Zend/zend_language_parser.c"
5956
0
    break;
5957
5958
0
  case 196:
5959
0
#line 607 "/src/php-src/Zend/zend_language_parser.y"
5960
0
                        { (yyval.num) = CG(zend_lineno); }
5961
0
#line 5962 "/src/php-src/Zend/zend_language_parser.c"
5962
0
    break;
5963
5964
0
  case 197:
5965
0
#line 609 "/src/php-src/Zend/zend_language_parser.y"
5966
0
                        { (yyval.ast) = zend_ast_create_decl(ZEND_AST_CLASS, 0, (yyvsp[-7].num), (yyvsp[-3].str), zend_ast_get_str((yyvsp[-6].ast)), (yyvsp[-5].ast), (yyvsp[-4].ast), (yyvsp[-1].ast), NULL, NULL); }
5967
0
#line 5968 "/src/php-src/Zend/zend_language_parser.c"
5968
0
    break;
5969
5970
0
  case 198:
5971
0
#line 613 "/src/php-src/Zend/zend_language_parser.y"
5972
0
                                                                { (yyval.num) = (yyvsp[0].num); }
5973
0
#line 5974 "/src/php-src/Zend/zend_language_parser.c"
5974
0
    break;
5975
5976
0
  case 199:
5977
0
#line 615 "/src/php-src/Zend/zend_language_parser.y"
5978
0
                        { (yyval.num) = zend_add_class_modifier((yyvsp[-1].num), (yyvsp[0].num)); if (!(yyval.num)) { YYERROR; } }
5979
0
#line 5980 "/src/php-src/Zend/zend_language_parser.c"
5980
0
    break;
5981
5982
0
  case 200:
5983
0
#line 620 "/src/php-src/Zend/zend_language_parser.y"
5984
0
                        { (yyval.num) = zend_add_anonymous_class_modifier(0, (yyvsp[0].num)); if (!(yyval.num)) { YYERROR; } }
5985
0
#line 5986 "/src/php-src/Zend/zend_language_parser.c"
5986
0
    break;
5987
5988
0
  case 201:
5989
0
#line 622 "/src/php-src/Zend/zend_language_parser.y"
5990
0
                        { (yyval.num) = zend_add_anonymous_class_modifier((yyvsp[-1].num), (yyvsp[0].num)); if (!(yyval.num)) { YYERROR; } }
5991
0
#line 5992 "/src/php-src/Zend/zend_language_parser.c"
5992
0
    break;
5993
5994
0
  case 202:
5995
0
#line 626 "/src/php-src/Zend/zend_language_parser.y"
5996
0
                                                { (yyval.num) = 0; }
5997
0
#line 5998 "/src/php-src/Zend/zend_language_parser.c"
5998
0
    break;
5999
6000
0
  case 203:
6001
0
#line 627 "/src/php-src/Zend/zend_language_parser.y"
6002
0
                                                { (yyval.num) = (yyvsp[0].num); }
6003
0
#line 6004 "/src/php-src/Zend/zend_language_parser.c"
6004
0
    break;
6005
6006
0
  case 204:
6007
0
#line 631 "/src/php-src/Zend/zend_language_parser.y"
6008
0
                                        { (yyval.num) = ZEND_ACC_EXPLICIT_ABSTRACT_CLASS; }
6009
0
#line 6010 "/src/php-src/Zend/zend_language_parser.c"
6010
0
    break;
6011
6012
0
  case 205:
6013
0
#line 632 "/src/php-src/Zend/zend_language_parser.y"
6014
0
                                        { (yyval.num) = ZEND_ACC_FINAL; }
6015
0
#line 6016 "/src/php-src/Zend/zend_language_parser.c"
6016
0
    break;
6017
6018
0
  case 206:
6019
0
#line 633 "/src/php-src/Zend/zend_language_parser.y"
6020
0
                                        { (yyval.num) = ZEND_ACC_READONLY_CLASS|ZEND_ACC_NO_DYNAMIC_PROPERTIES; }
6021
0
#line 6022 "/src/php-src/Zend/zend_language_parser.c"
6022
0
    break;
6023
6024
0
  case 207:
6025
0
#line 637 "/src/php-src/Zend/zend_language_parser.y"
6026
0
                        { (yyval.num) = CG(zend_lineno); }
6027
0
#line 6028 "/src/php-src/Zend/zend_language_parser.c"
6028
0
    break;
6029
6030
0
  case 208:
6031
0
#line 639 "/src/php-src/Zend/zend_language_parser.y"
6032
0
                        { (yyval.ast) = zend_ast_create_decl(ZEND_AST_CLASS, ZEND_ACC_TRAIT, (yyvsp[-5].num), (yyvsp[-3].str), zend_ast_get_str((yyvsp[-4].ast)), NULL, NULL, (yyvsp[-1].ast), NULL, NULL); }
6033
0
#line 6034 "/src/php-src/Zend/zend_language_parser.c"
6034
0
    break;
6035
6036
0
  case 209:
6037
0
#line 643 "/src/php-src/Zend/zend_language_parser.y"
6038
0
                            { (yyval.num) = CG(zend_lineno); }
6039
0
#line 6040 "/src/php-src/Zend/zend_language_parser.c"
6040
0
    break;
6041
6042
0
  case 210:
6043
0
#line 645 "/src/php-src/Zend/zend_language_parser.y"
6044
0
                        { (yyval.ast) = zend_ast_create_decl(ZEND_AST_CLASS, ZEND_ACC_INTERFACE, (yyvsp[-6].num), (yyvsp[-3].str), zend_ast_get_str((yyvsp[-5].ast)), NULL, (yyvsp[-4].ast), (yyvsp[-1].ast), NULL, NULL); }
6045
0
#line 6046 "/src/php-src/Zend/zend_language_parser.c"
6046
0
    break;
6047
6048
0
  case 211:
6049
0
#line 649 "/src/php-src/Zend/zend_language_parser.y"
6050
0
                       { (yyval.num) = CG(zend_lineno); }
6051
0
#line 6052 "/src/php-src/Zend/zend_language_parser.c"
6052
0
    break;
6053
6054
0
  case 212:
6055
0
#line 651 "/src/php-src/Zend/zend_language_parser.y"
6056
0
                        { (yyval.ast) = zend_ast_create_decl(ZEND_AST_CLASS, ZEND_ACC_ENUM|ZEND_ACC_FINAL, (yyvsp[-7].num), (yyvsp[-3].str), zend_ast_get_str((yyvsp[-6].ast)), NULL, (yyvsp[-4].ast), (yyvsp[-1].ast), NULL, (yyvsp[-5].ast)); }
6057
0
#line 6058 "/src/php-src/Zend/zend_language_parser.c"
6058
0
    break;
6059
6060
0
  case 213:
6061
0
#line 655 "/src/php-src/Zend/zend_language_parser.y"
6062
0
                        { (yyval.ast) = NULL; }
6063
0
#line 6064 "/src/php-src/Zend/zend_language_parser.c"
6064
0
    break;
6065
6066
0
  case 214:
6067
0
#line 656 "/src/php-src/Zend/zend_language_parser.y"
6068
0
                              { (yyval.ast) = (yyvsp[0].ast); }
6069
0
#line 6070 "/src/php-src/Zend/zend_language_parser.c"
6070
0
    break;
6071
6072
0
  case 215:
6073
0
#line 661 "/src/php-src/Zend/zend_language_parser.y"
6074
0
                        { (yyval.ast) = zend_ast_create(ZEND_AST_ENUM_CASE, (yyvsp[-2].ast), (yyvsp[-1].ast), ((yyvsp[-3].str) ? zend_ast_create_zval_from_str((yyvsp[-3].str)) : NULL), NULL); }
6075
0
#line 6076 "/src/php-src/Zend/zend_language_parser.c"
6076
0
    break;
6077
6078
0
  case 216:
6079
0
#line 665 "/src/php-src/Zend/zend_language_parser.y"
6080
0
                        { (yyval.ast) = NULL; }
6081
0
#line 6082 "/src/php-src/Zend/zend_language_parser.c"
6082
0
    break;
6083
6084
0
  case 217:
6085
0
#line 666 "/src/php-src/Zend/zend_language_parser.y"
6086
0
                         { (yyval.ast) = (yyvsp[0].ast); }
6087
0
#line 6088 "/src/php-src/Zend/zend_language_parser.c"
6088
0
    break;
6089
6090
0
  case 218:
6091
0
#line 670 "/src/php-src/Zend/zend_language_parser.y"
6092
0
                                                { (yyval.ast) = NULL; }
6093
0
#line 6094 "/src/php-src/Zend/zend_language_parser.c"
6094
0
    break;
6095
6096
0
  case 219:
6097
0
#line 671 "/src/php-src/Zend/zend_language_parser.y"
6098
0
                                        { (yyval.ast) = (yyvsp[0].ast); }
6099
0
#line 6100 "/src/php-src/Zend/zend_language_parser.c"
6100
0
    break;
6101
6102
0
  case 220:
6103
0
#line 675 "/src/php-src/Zend/zend_language_parser.y"
6104
0
                                                { (yyval.ast) = NULL; }
6105
0
#line 6106 "/src/php-src/Zend/zend_language_parser.c"
6106
0
    break;
6107
6108
0
  case 221:
6109
0
#line 676 "/src/php-src/Zend/zend_language_parser.y"
6110
0
                                                { (yyval.ast) = (yyvsp[0].ast); }
6111
0
#line 6112 "/src/php-src/Zend/zend_language_parser.c"
6112
0
    break;
6113
6114
0
  case 222:
6115
0
#line 680 "/src/php-src/Zend/zend_language_parser.y"
6116
0
                                                        { (yyval.ast) = NULL; }
6117
0
#line 6118 "/src/php-src/Zend/zend_language_parser.c"
6118
0
    break;
6119
6120
0
  case 223:
6121
0
#line 681 "/src/php-src/Zend/zend_language_parser.y"
6122
0
                                                { (yyval.ast) = (yyvsp[0].ast); }
6123
0
#line 6124 "/src/php-src/Zend/zend_language_parser.c"
6124
0
    break;
6125
6126
0
  case 224:
6127
0
#line 685 "/src/php-src/Zend/zend_language_parser.y"
6128
0
                                                { (yyval.ast) = (yyvsp[0].ast); }
6129
0
#line 6130 "/src/php-src/Zend/zend_language_parser.c"
6130
0
    break;
6131
6132
0
  case 225:
6133
0
#line 686 "/src/php-src/Zend/zend_language_parser.y"
6134
0
                                        { (yyval.ast) = zend_ast_create(ZEND_AST_REF, (yyvsp[0].ast)); }
6135
0
#line 6136 "/src/php-src/Zend/zend_language_parser.c"
6136
0
    break;
6137
6138
0
  case 226:
6139
0
#line 687 "/src/php-src/Zend/zend_language_parser.y"
6140
0
                                               { (yyval.ast) = (yyvsp[-1].ast); (yyval.ast)->attr = ZEND_ARRAY_SYNTAX_LIST; }
6141
0
#line 6142 "/src/php-src/Zend/zend_language_parser.c"
6142
0
    break;
6143
6144
0
  case 227:
6145
0
#line 688 "/src/php-src/Zend/zend_language_parser.y"
6146
0
                                        { (yyval.ast) = (yyvsp[-1].ast); (yyval.ast)->attr = ZEND_ARRAY_SYNTAX_SHORT; }
6147
0
#line 6148 "/src/php-src/Zend/zend_language_parser.c"
6148
0
    break;
6149
6150
0
  case 228:
6151
0
#line 692 "/src/php-src/Zend/zend_language_parser.y"
6152
0
                          { (yyval.ast) = (yyvsp[0].ast); }
6153
0
#line 6154 "/src/php-src/Zend/zend_language_parser.c"
6154
0
    break;
6155
6156
0
  case 229:
6157
0
#line 693 "/src/php-src/Zend/zend_language_parser.y"
6158
0
                                                      { (yyval.ast) = (yyvsp[-2].ast); }
6159
0
#line 6160 "/src/php-src/Zend/zend_language_parser.c"
6160
0
    break;
6161
6162
0
  case 230:
6163
0
#line 697 "/src/php-src/Zend/zend_language_parser.y"
6164
0
                          { (yyval.ast) = (yyvsp[0].ast); }
6165
0
#line 6166 "/src/php-src/Zend/zend_language_parser.c"
6166
0
    break;
6167
6168
0
  case 231:
6169
0
#line 698 "/src/php-src/Zend/zend_language_parser.y"
6170
0
                                                          { (yyval.ast) = (yyvsp[-2].ast); }
6171
0
#line 6172 "/src/php-src/Zend/zend_language_parser.c"
6172
0
    break;
6173
6174
0
  case 232:
6175
0
#line 702 "/src/php-src/Zend/zend_language_parser.y"
6176
0
                          { (yyval.ast) = (yyvsp[0].ast); }
6177
0
#line 6178 "/src/php-src/Zend/zend_language_parser.c"
6178
0
    break;
6179
6180
0
  case 233:
6181
0
#line 703 "/src/php-src/Zend/zend_language_parser.y"
6182
0
                                                          { (yyval.ast) = (yyvsp[-2].ast); }
6183
0
#line 6184 "/src/php-src/Zend/zend_language_parser.c"
6184
0
    break;
6185
6186
0
  case 234:
6187
0
#line 707 "/src/php-src/Zend/zend_language_parser.y"
6188
0
                                                                        { (yyval.ast) = (yyvsp[-1].ast); }
6189
0
#line 6190 "/src/php-src/Zend/zend_language_parser.c"
6190
0
    break;
6191
6192
0
  case 235:
6193
0
#line 708 "/src/php-src/Zend/zend_language_parser.y"
6194
0
                                                                { (yyval.ast) = (yyvsp[-1].ast); }
6195
0
#line 6196 "/src/php-src/Zend/zend_language_parser.c"
6196
0
    break;
6197
6198
0
  case 236:
6199
0
#line 709 "/src/php-src/Zend/zend_language_parser.y"
6200
0
                                                        { (yyval.ast) = (yyvsp[-2].ast); }
6201
0
#line 6202 "/src/php-src/Zend/zend_language_parser.c"
6202
0
    break;
6203
6204
0
  case 237:
6205
0
#line 710 "/src/php-src/Zend/zend_language_parser.y"
6206
0
                                                        { (yyval.ast) = (yyvsp[-2].ast); }
6207
0
#line 6208 "/src/php-src/Zend/zend_language_parser.c"
6208
0
    break;
6209
6210
0
  case 238:
6211
0
#line 714 "/src/php-src/Zend/zend_language_parser.y"
6212
0
                       { (yyval.ast) = zend_ast_create_list(0, ZEND_AST_SWITCH_LIST); }
6213
0
#line 6214 "/src/php-src/Zend/zend_language_parser.c"
6214
0
    break;
6215
6216
0
  case 239:
6217
0
#line 716 "/src/php-src/Zend/zend_language_parser.y"
6218
0
                        { (yyval.ast) = zend_ast_list_add((yyvsp[-4].ast), zend_ast_create(ZEND_AST_SWITCH_CASE, (yyvsp[-2].ast), (yyvsp[0].ast))); }
6219
0
#line 6220 "/src/php-src/Zend/zend_language_parser.c"
6220
0
    break;
6221
6222
0
  case 240:
6223
0
#line 718 "/src/php-src/Zend/zend_language_parser.y"
6224
0
                        { (yyval.ast) = zend_ast_list_add((yyvsp[-4].ast), zend_ast_create_ex(ZEND_AST_SWITCH_CASE, ZEND_ALT_CASE_SYNTAX, (yyvsp[-2].ast), (yyvsp[0].ast))); }
6225
0
#line 6226 "/src/php-src/Zend/zend_language_parser.c"
6226
0
    break;
6227
6228
0
  case 241:
6229
0
#line 720 "/src/php-src/Zend/zend_language_parser.y"
6230
0
                        { (yyval.ast) = zend_ast_list_add((yyvsp[-3].ast), zend_ast_create(ZEND_AST_SWITCH_CASE, NULL, (yyvsp[0].ast))); }
6231
0
#line 6232 "/src/php-src/Zend/zend_language_parser.c"
6232
0
    break;
6233
6234
0
  case 242:
6235
0
#line 722 "/src/php-src/Zend/zend_language_parser.y"
6236
0
                        { (yyval.ast) = zend_ast_list_add((yyvsp[-3].ast), zend_ast_create_ex(ZEND_AST_SWITCH_CASE, ZEND_ALT_CASE_SYNTAX, NULL, (yyvsp[0].ast))); }
6237
0
#line 6238 "/src/php-src/Zend/zend_language_parser.c"
6238
0
    break;
6239
6240
0
  case 243:
6241
0
#line 728 "/src/php-src/Zend/zend_language_parser.y"
6242
0
                        { (yyval.ast) = zend_ast_create(ZEND_AST_MATCH, (yyvsp[-4].ast), (yyvsp[-1].ast)); }
6243
0
#line 6244 "/src/php-src/Zend/zend_language_parser.c"
6244
0
    break;
6245
6246
0
  case 244:
6247
0
#line 732 "/src/php-src/Zend/zend_language_parser.y"
6248
0
                       { (yyval.ast) = zend_ast_create_list(0, ZEND_AST_MATCH_ARM_LIST); }
6249
0
#line 6250 "/src/php-src/Zend/zend_language_parser.c"
6250
0
    break;
6251
6252
0
  case 245:
6253
0
#line 733 "/src/php-src/Zend/zend_language_parser.y"
6254
0
                                                        { (yyval.ast) = (yyvsp[-1].ast); }
6255
0
#line 6256 "/src/php-src/Zend/zend_language_parser.c"
6256
0
    break;
6257
6258
0
  case 246:
6259
0
#line 737 "/src/php-src/Zend/zend_language_parser.y"
6260
0
                          { (yyval.ast) = zend_ast_create_list(1, ZEND_AST_MATCH_ARM_LIST, (yyvsp[0].ast)); }
6261
0
#line 6262 "/src/php-src/Zend/zend_language_parser.c"
6262
0
    break;
6263
6264
0
  case 247:
6265
0
#line 738 "/src/php-src/Zend/zend_language_parser.y"
6266
0
                                                       { (yyval.ast) = zend_ast_list_add((yyvsp[-2].ast), (yyvsp[0].ast)); }
6267
0
#line 6268 "/src/php-src/Zend/zend_language_parser.c"
6268
0
    break;
6269
6270
0
  case 248:
6271
0
#line 743 "/src/php-src/Zend/zend_language_parser.y"
6272
0
                        { (yyval.ast) = zend_ast_create(ZEND_AST_MATCH_ARM, (yyvsp[-3].ast), (yyvsp[0].ast)); }
6273
0
#line 6274 "/src/php-src/Zend/zend_language_parser.c"
6274
0
    break;
6275
6276
0
  case 249:
6277
0
#line 745 "/src/php-src/Zend/zend_language_parser.y"
6278
0
                        { (yyval.ast) = zend_ast_create(ZEND_AST_MATCH_ARM, NULL, (yyvsp[0].ast)); }
6279
0
#line 6280 "/src/php-src/Zend/zend_language_parser.c"
6280
0
    break;
6281
6282
0
  case 250:
6283
0
#line 749 "/src/php-src/Zend/zend_language_parser.y"
6284
0
                     { (yyval.ast) = zend_ast_create_list(1, ZEND_AST_EXPR_LIST, (yyvsp[0].ast)); }
6285
0
#line 6286 "/src/php-src/Zend/zend_language_parser.c"
6286
0
    break;
6287
6288
0
  case 251:
6289
0
#line 750 "/src/php-src/Zend/zend_language_parser.y"
6290
0
                                             { (yyval.ast) = zend_ast_list_add((yyvsp[-2].ast), (yyvsp[0].ast)); }
6291
0
#line 6292 "/src/php-src/Zend/zend_language_parser.c"
6292
0
    break;
6293
6294
0
  case 252:
6295
0
#line 755 "/src/php-src/Zend/zend_language_parser.y"
6296
0
                          { (yyval.ast) = (yyvsp[0].ast); }
6297
0
#line 6298 "/src/php-src/Zend/zend_language_parser.c"
6298
0
    break;
6299
6300
0
  case 253:
6301
0
#line 756 "/src/php-src/Zend/zend_language_parser.y"
6302
0
                                                        { (yyval.ast) = (yyvsp[-2].ast); }
6303
0
#line 6304 "/src/php-src/Zend/zend_language_parser.c"
6304
0
    break;
6305
6306
0
  case 254:
6307
0
#line 762 "/src/php-src/Zend/zend_language_parser.y"
6308
0
                        { (yyval.ast) = zend_ast_create_list(1, ZEND_AST_IF,
6309
0
            zend_ast_create(ZEND_AST_IF_ELEM, (yyvsp[-2].ast), (yyvsp[0].ast))); }
6310
0
#line 6311 "/src/php-src/Zend/zend_language_parser.c"
6311
0
    break;
6312
6313
0
  case 255:
6314
0
#line 765 "/src/php-src/Zend/zend_language_parser.y"
6315
0
                        { (yyval.ast) = zend_ast_list_add((yyvsp[-5].ast),
6316
0
            zend_ast_create(ZEND_AST_IF_ELEM, (yyvsp[-2].ast), (yyvsp[0].ast))); }
6317
0
#line 6318 "/src/php-src/Zend/zend_language_parser.c"
6318
0
    break;
6319
6320
0
  case 256:
6321
0
#line 770 "/src/php-src/Zend/zend_language_parser.y"
6322
0
                                                    { (yyval.ast) = (yyvsp[0].ast); }
6323
0
#line 6324 "/src/php-src/Zend/zend_language_parser.c"
6324
0
    break;
6325
6326
0
  case 257:
6327
0
#line 772 "/src/php-src/Zend/zend_language_parser.y"
6328
0
                        { (yyval.ast) = zend_ast_list_add((yyvsp[-2].ast), zend_ast_create(ZEND_AST_IF_ELEM, NULL, (yyvsp[0].ast))); }
6329
0
#line 6330 "/src/php-src/Zend/zend_language_parser.c"
6330
0
    break;
6331
6332
0
  case 258:
6333
0
#line 777 "/src/php-src/Zend/zend_language_parser.y"
6334
0
                        { (yyval.ast) = zend_ast_create_list(1, ZEND_AST_IF,
6335
0
            zend_ast_create(ZEND_AST_IF_ELEM, (yyvsp[-3].ast), (yyvsp[0].ast))); }
6336
0
#line 6337 "/src/php-src/Zend/zend_language_parser.c"
6337
0
    break;
6338
6339
0
  case 259:
6340
0
#line 780 "/src/php-src/Zend/zend_language_parser.y"
6341
0
                        { (yyval.ast) = zend_ast_list_add((yyvsp[-6].ast),
6342
0
            zend_ast_create(ZEND_AST_IF_ELEM, (yyvsp[-3].ast), (yyvsp[0].ast))); }
6343
0
#line 6344 "/src/php-src/Zend/zend_language_parser.c"
6344
0
    break;
6345
6346
0
  case 260:
6347
0
#line 785 "/src/php-src/Zend/zend_language_parser.y"
6348
0
                                                     { (yyval.ast) = (yyvsp[-2].ast); }
6349
0
#line 6350 "/src/php-src/Zend/zend_language_parser.c"
6350
0
    break;
6351
6352
0
  case 261:
6353
0
#line 787 "/src/php-src/Zend/zend_language_parser.y"
6354
0
                        { (yyval.ast) = zend_ast_list_add((yyvsp[-5].ast),
6355
0
            zend_ast_create(ZEND_AST_IF_ELEM, NULL, (yyvsp[-2].ast))); }
6356
0
#line 6357 "/src/php-src/Zend/zend_language_parser.c"
6357
0
    break;
6358
6359
0
  case 262:
6360
0
#line 792 "/src/php-src/Zend/zend_language_parser.y"
6361
0
                                                        { (yyval.ast) = (yyvsp[-1].ast); }
6362
0
#line 6363 "/src/php-src/Zend/zend_language_parser.c"
6363
0
    break;
6364
6365
0
  case 263:
6366
0
#line 793 "/src/php-src/Zend/zend_language_parser.y"
6367
0
                        { (yyval.ast) = zend_ast_create_list(0, ZEND_AST_PARAM_LIST); }
6368
0
#line 6369 "/src/php-src/Zend/zend_language_parser.c"
6369
0
    break;
6370
6371
0
  case 264:
6372
0
#line 799 "/src/php-src/Zend/zend_language_parser.y"
6373
0
                        { (yyval.ast) = zend_ast_create_list(1, ZEND_AST_PARAM_LIST, (yyvsp[0].ast)); }
6374
0
#line 6375 "/src/php-src/Zend/zend_language_parser.c"
6375
0
    break;
6376
6377
0
  case 265:
6378
0
#line 801 "/src/php-src/Zend/zend_language_parser.y"
6379
0
                        { (yyval.ast) = zend_ast_list_add((yyvsp[-2].ast), (yyvsp[0].ast)); }
6380
0
#line 6381 "/src/php-src/Zend/zend_language_parser.c"
6381
0
    break;
6382
6383
0
  case 266:
6384
0
#line 805 "/src/php-src/Zend/zend_language_parser.y"
6385
0
                                        { (yyval.ast) = zend_ast_with_attributes((yyvsp[0].ast), (yyvsp[-1].ast)); }
6386
0
#line 6387 "/src/php-src/Zend/zend_language_parser.c"
6387
0
    break;
6388
6389
0
  case 267:
6390
0
#line 806 "/src/php-src/Zend/zend_language_parser.y"
6391
0
                                                        { (yyval.ast) = (yyvsp[0].ast); }
6392
0
#line 6393 "/src/php-src/Zend/zend_language_parser.c"
6393
0
    break;
6394
6395
0
  case 268:
6396
0
#line 811 "/src/php-src/Zend/zend_language_parser.y"
6397
0
                        { (yyval.num) = 0; }
6398
0
#line 6399 "/src/php-src/Zend/zend_language_parser.c"
6399
0
    break;
6400
6401
0
  case 269:
6402
0
#line 813 "/src/php-src/Zend/zend_language_parser.y"
6403
0
                        { (yyval.num) = zend_modifier_list_to_flags(ZEND_MODIFIER_TARGET_CPP, (yyvsp[0].ast));
6404
0
        if (!(yyval.num)) { YYERROR; } }
6405
0
#line 6406 "/src/php-src/Zend/zend_language_parser.c"
6406
0
    break;
6407
6408
0
  case 270:
6409
0
#line 820 "/src/php-src/Zend/zend_language_parser.y"
6410
0
                        { (yyval.ast) = zend_ast_create_ex(ZEND_AST_PARAM, (yyvsp[-6].num) | (yyvsp[-4].num) | (yyvsp[-3].num), (yyvsp[-5].ast), (yyvsp[-2].ast), NULL,
6411
0
          NULL, (yyvsp[-1].str) ? zend_ast_create_zval_from_str((yyvsp[-1].str)) : NULL, (yyvsp[0].ast)); }
6412
0
#line 6413 "/src/php-src/Zend/zend_language_parser.c"
6413
0
    break;
6414
6415
0
  case 271:
6416
0
#line 824 "/src/php-src/Zend/zend_language_parser.y"
6417
0
                        { (yyval.ast) = zend_ast_create_ex(ZEND_AST_PARAM, (yyvsp[-8].num) | (yyvsp[-6].num) | (yyvsp[-5].num), (yyvsp[-7].ast), (yyvsp[-4].ast), (yyvsp[-2].ast),
6418
0
          NULL, (yyvsp[-1].str) ? zend_ast_create_zval_from_str((yyvsp[-1].str)) : NULL, (yyvsp[0].ast)); }
6419
0
#line 6420 "/src/php-src/Zend/zend_language_parser.c"
6420
0
    break;
6421
6422
0
  case 272:
6423
0
#line 829 "/src/php-src/Zend/zend_language_parser.y"
6424
0
                        { (yyval.ast) = NULL; }
6425
0
#line 6426 "/src/php-src/Zend/zend_language_parser.c"
6426
0
    break;
6427
6428
0
  case 273:
6429
0
#line 830 "/src/php-src/Zend/zend_language_parser.y"
6430
0
                                                { (yyval.ast) = (yyvsp[0].ast); }
6431
0
#line 6432 "/src/php-src/Zend/zend_language_parser.c"
6432
0
    break;
6433
6434
0
  case 274:
6435
0
#line 834 "/src/php-src/Zend/zend_language_parser.y"
6436
0
                                                { (yyval.ast) = (yyvsp[0].ast); }
6437
0
#line 6438 "/src/php-src/Zend/zend_language_parser.c"
6438
0
    break;
6439
6440
0
  case 275:
6441
0
#line 835 "/src/php-src/Zend/zend_language_parser.y"
6442
0
                                                { (yyval.ast) = (yyvsp[0].ast); (yyval.ast)->attr |= ZEND_TYPE_NULLABLE; }
6443
0
#line 6444 "/src/php-src/Zend/zend_language_parser.c"
6444
0
    break;
6445
6446
0
  case 276:
6447
0
#line 836 "/src/php-src/Zend/zend_language_parser.y"
6448
0
                                                { (yyval.ast) = (yyvsp[0].ast); }
6449
0
#line 6450 "/src/php-src/Zend/zend_language_parser.c"
6450
0
    break;
6451
6452
0
  case 277:
6453
0
#line 837 "/src/php-src/Zend/zend_language_parser.y"
6454
0
                                        { (yyval.ast) = (yyvsp[0].ast); }
6455
0
#line 6456 "/src/php-src/Zend/zend_language_parser.c"
6456
0
    break;
6457
6458
0
  case 278:
6459
0
#line 841 "/src/php-src/Zend/zend_language_parser.y"
6460
0
                                        { (yyval.ast) = (yyvsp[0].ast); }
6461
0
#line 6462 "/src/php-src/Zend/zend_language_parser.c"
6462
0
    break;
6463
6464
0
  case 279:
6465
0
#line 842 "/src/php-src/Zend/zend_language_parser.y"
6466
0
                                                { (yyval.ast) = zend_ast_create_ex(ZEND_AST_TYPE, IS_STATIC); }
6467
0
#line 6468 "/src/php-src/Zend/zend_language_parser.c"
6468
0
    break;
6469
6470
0
  case 280:
6471
0
#line 846 "/src/php-src/Zend/zend_language_parser.y"
6472
0
                     { (yyval.ast) = (yyvsp[0].ast); }
6473
0
#line 6474 "/src/php-src/Zend/zend_language_parser.c"
6474
0
    break;
6475
6476
0
  case 281:
6477
0
#line 847 "/src/php-src/Zend/zend_language_parser.y"
6478
0
                                           { (yyval.ast) = (yyvsp[-1].ast); }
6479
0
#line 6480 "/src/php-src/Zend/zend_language_parser.c"
6480
0
    break;
6481
6482
0
  case 282:
6483
0
#line 852 "/src/php-src/Zend/zend_language_parser.y"
6484
0
                        { (yyval.ast) = zend_ast_create_list(2, ZEND_AST_TYPE_UNION, (yyvsp[-2].ast), (yyvsp[0].ast)); }
6485
0
#line 6486 "/src/php-src/Zend/zend_language_parser.c"
6486
0
    break;
6487
6488
0
  case 283:
6489
0
#line 854 "/src/php-src/Zend/zend_language_parser.y"
6490
0
                        { (yyval.ast) = zend_ast_list_add((yyvsp[-2].ast), (yyvsp[0].ast)); }
6491
0
#line 6492 "/src/php-src/Zend/zend_language_parser.c"
6492
0
    break;
6493
6494
0
  case 284:
6495
0
#line 858 "/src/php-src/Zend/zend_language_parser.y"
6496
0
                                                                          { (yyval.ast) = zend_ast_create_list(2, ZEND_AST_TYPE_INTERSECTION, (yyvsp[-2].ast), (yyvsp[0].ast)); }
6497
0
#line 6498 "/src/php-src/Zend/zend_language_parser.c"
6498
0
    break;
6499
6500
0
  case 285:
6501
0
#line 859 "/src/php-src/Zend/zend_language_parser.y"
6502
0
                                                                                 { (yyval.ast) = zend_ast_list_add((yyvsp[-2].ast), (yyvsp[0].ast)); }
6503
0
#line 6504 "/src/php-src/Zend/zend_language_parser.c"
6504
0
    break;
6505
6506
0
  case 286:
6507
0
#line 866 "/src/php-src/Zend/zend_language_parser.y"
6508
0
                                                        { (yyval.ast) = (yyvsp[0].ast); }
6509
0
#line 6510 "/src/php-src/Zend/zend_language_parser.c"
6510
0
    break;
6511
6512
0
  case 287:
6513
0
#line 867 "/src/php-src/Zend/zend_language_parser.y"
6514
0
                                                { (yyval.ast) = (yyvsp[0].ast); (yyval.ast)->attr |= ZEND_TYPE_NULLABLE; }
6515
0
#line 6516 "/src/php-src/Zend/zend_language_parser.c"
6516
0
    break;
6517
6518
0
  case 288:
6519
0
#line 868 "/src/php-src/Zend/zend_language_parser.y"
6520
0
                                                { (yyval.ast) = (yyvsp[0].ast); }
6521
0
#line 6522 "/src/php-src/Zend/zend_language_parser.c"
6522
0
    break;
6523
6524
0
  case 289:
6525
0
#line 869 "/src/php-src/Zend/zend_language_parser.y"
6526
0
                                                        { (yyval.ast) = (yyvsp[0].ast); }
6527
0
#line 6528 "/src/php-src/Zend/zend_language_parser.c"
6528
0
    break;
6529
6530
0
  case 290:
6531
0
#line 873 "/src/php-src/Zend/zend_language_parser.y"
6532
0
                                { (yyval.ast) = zend_ast_create_ex(ZEND_AST_TYPE, IS_ARRAY); }
6533
0
#line 6534 "/src/php-src/Zend/zend_language_parser.c"
6534
0
    break;
6535
6536
0
  case 291:
6537
0
#line 874 "/src/php-src/Zend/zend_language_parser.y"
6538
0
                                { (yyval.ast) = zend_ast_create_ex(ZEND_AST_TYPE, IS_CALLABLE); }
6539
0
#line 6540 "/src/php-src/Zend/zend_language_parser.c"
6540
0
    break;
6541
6542
0
  case 292:
6543
0
#line 875 "/src/php-src/Zend/zend_language_parser.y"
6544
0
                                { (yyval.ast) = (yyvsp[0].ast); }
6545
0
#line 6546 "/src/php-src/Zend/zend_language_parser.c"
6546
0
    break;
6547
6548
0
  case 293:
6549
0
#line 879 "/src/php-src/Zend/zend_language_parser.y"
6550
0
                                    { (yyval.ast) = (yyvsp[0].ast); }
6551
0
#line 6552 "/src/php-src/Zend/zend_language_parser.c"
6552
0
    break;
6553
6554
0
  case 294:
6555
0
#line 880 "/src/php-src/Zend/zend_language_parser.y"
6556
0
                                                          { (yyval.ast) = (yyvsp[-1].ast); }
6557
0
#line 6558 "/src/php-src/Zend/zend_language_parser.c"
6558
0
    break;
6559
6560
0
  case 295:
6561
0
#line 885 "/src/php-src/Zend/zend_language_parser.y"
6562
0
                        { (yyval.ast) = zend_ast_create_list(2, ZEND_AST_TYPE_UNION, (yyvsp[-2].ast), (yyvsp[0].ast)); }
6563
0
#line 6564 "/src/php-src/Zend/zend_language_parser.c"
6564
0
    break;
6565
6566
0
  case 296:
6567
0
#line 887 "/src/php-src/Zend/zend_language_parser.y"
6568
0
                        { (yyval.ast) = zend_ast_list_add((yyvsp[-2].ast), (yyvsp[0].ast)); }
6569
0
#line 6570 "/src/php-src/Zend/zend_language_parser.c"
6570
0
    break;
6571
6572
0
  case 297:
6573
0
#line 892 "/src/php-src/Zend/zend_language_parser.y"
6574
0
                        { (yyval.ast) = zend_ast_create_list(2, ZEND_AST_TYPE_INTERSECTION, (yyvsp[-2].ast), (yyvsp[0].ast)); }
6575
0
#line 6576 "/src/php-src/Zend/zend_language_parser.c"
6576
0
    break;
6577
6578
0
  case 298:
6579
0
#line 894 "/src/php-src/Zend/zend_language_parser.y"
6580
0
                        { (yyval.ast) = zend_ast_list_add((yyvsp[-2].ast), (yyvsp[0].ast)); }
6581
0
#line 6582 "/src/php-src/Zend/zend_language_parser.c"
6582
0
    break;
6583
6584
0
  case 299:
6585
0
#line 898 "/src/php-src/Zend/zend_language_parser.y"
6586
0
                        { (yyval.ast) = NULL; }
6587
0
#line 6588 "/src/php-src/Zend/zend_language_parser.c"
6588
0
    break;
6589
6590
0
  case 300:
6591
0
#line 899 "/src/php-src/Zend/zend_language_parser.y"
6592
0
                                { (yyval.ast) = (yyvsp[0].ast); }
6593
0
#line 6594 "/src/php-src/Zend/zend_language_parser.c"
6594
0
    break;
6595
6596
0
  case 301:
6597
0
#line 903 "/src/php-src/Zend/zend_language_parser.y"
6598
0
                        { (yyval.ast) = zend_ast_create_arg_list(0, ZEND_AST_ARG_LIST); }
6599
0
#line 6600 "/src/php-src/Zend/zend_language_parser.c"
6600
0
    break;
6601
6602
0
  case 302:
6603
0
#line 904 "/src/php-src/Zend/zend_language_parser.y"
6604
0
                                                               { (yyval.ast) = (yyvsp[-2].ast); }
6605
0
#line 6606 "/src/php-src/Zend/zend_language_parser.c"
6606
0
    break;
6607
6608
0
  case 303:
6609
0
#line 909 "/src/php-src/Zend/zend_language_parser.y"
6610
0
                        { (yyval.ast) = zend_ast_create_arg_list(1, ZEND_AST_ARG_LIST, (yyvsp[0].ast)); }
6611
0
#line 6612 "/src/php-src/Zend/zend_language_parser.c"
6612
0
    break;
6613
6614
0
  case 304:
6615
0
#line 911 "/src/php-src/Zend/zend_language_parser.y"
6616
0
                        { (yyval.ast) = zend_ast_arg_list_add((yyvsp[-2].ast), (yyvsp[0].ast)); }
6617
0
#line 6618 "/src/php-src/Zend/zend_language_parser.c"
6618
0
    break;
6619
6620
0
  case 305:
6621
0
#line 924 "/src/php-src/Zend/zend_language_parser.y"
6622
0
                        { (yyval.ast) = zend_ast_create_arg_list(0, ZEND_AST_ARG_LIST); }
6623
0
#line 6624 "/src/php-src/Zend/zend_language_parser.c"
6624
0
    break;
6625
6626
0
  case 306:
6627
0
#line 925 "/src/php-src/Zend/zend_language_parser.y"
6628
0
                                                                     { (yyval.ast) = (yyvsp[-2].ast); }
6629
0
#line 6630 "/src/php-src/Zend/zend_language_parser.c"
6630
0
    break;
6631
6632
0
  case 307:
6633
0
#line 926 "/src/php-src/Zend/zend_language_parser.y"
6634
0
                                 { (yyval.ast) = zend_ast_create_arg_list(1, ZEND_AST_ARG_LIST, (yyvsp[-2].ast)); }
6635
0
#line 6636 "/src/php-src/Zend/zend_language_parser.c"
6636
0
    break;
6637
6638
0
  case 308:
6639
0
#line 931 "/src/php-src/Zend/zend_language_parser.y"
6640
0
                        { (yyval.ast) = zend_ast_create_arg_list(2, ZEND_AST_ARG_LIST, (yyvsp[-2].ast), (yyvsp[0].ast)); }
6641
0
#line 6642 "/src/php-src/Zend/zend_language_parser.c"
6642
0
    break;
6643
6644
0
  case 309:
6645
0
#line 933 "/src/php-src/Zend/zend_language_parser.y"
6646
0
                        { (yyval.ast) = zend_ast_create_arg_list(1, ZEND_AST_ARG_LIST, (yyvsp[0].ast)); }
6647
0
#line 6648 "/src/php-src/Zend/zend_language_parser.c"
6648
0
    break;
6649
6650
0
  case 310:
6651
0
#line 935 "/src/php-src/Zend/zend_language_parser.y"
6652
0
                        { (yyval.ast) = zend_ast_arg_list_add((yyvsp[-2].ast), (yyvsp[0].ast)); }
6653
0
#line 6654 "/src/php-src/Zend/zend_language_parser.c"
6654
0
    break;
6655
6656
0
  case 311:
6657
0
#line 940 "/src/php-src/Zend/zend_language_parser.y"
6658
0
                        { (yyval.ast) = zend_ast_create(ZEND_AST_NAMED_ARG, (yyvsp[-2].ast), (yyvsp[0].ast)); }
6659
0
#line 6660 "/src/php-src/Zend/zend_language_parser.c"
6660
0
    break;
6661
6662
0
  case 312:
6663
0
#line 942 "/src/php-src/Zend/zend_language_parser.y"
6664
0
                        { (yyval.ast) = zend_ast_create_ex(ZEND_AST_PLACEHOLDER_ARG, ZEND_PLACEHOLDER_VARIADIC); }
6665
0
#line 6666 "/src/php-src/Zend/zend_language_parser.c"
6666
0
    break;
6667
6668
0
  case 313:
6669
0
#line 944 "/src/php-src/Zend/zend_language_parser.y"
6670
0
                        { (yyval.ast) = zend_ast_create(ZEND_AST_PLACEHOLDER_ARG); }
6671
0
#line 6672 "/src/php-src/Zend/zend_language_parser.c"
6672
0
    break;
6673
6674
0
  case 314:
6675
0
#line 946 "/src/php-src/Zend/zend_language_parser.y"
6676
0
                        { (yyval.ast) = zend_ast_create(ZEND_AST_NAMED_ARG, (yyvsp[-2].ast), zend_ast_create(ZEND_AST_PLACEHOLDER_ARG)); }
6677
0
#line 6678 "/src/php-src/Zend/zend_language_parser.c"
6678
0
    break;
6679
6680
0
  case 315:
6681
0
#line 948 "/src/php-src/Zend/zend_language_parser.y"
6682
0
                        { (yyval.ast) = zend_ast_create(ZEND_AST_UNPACK, (yyvsp[0].ast)); }
6683
0
#line 6684 "/src/php-src/Zend/zend_language_parser.c"
6684
0
    break;
6685
6686
0
  case 316:
6687
0
#line 952 "/src/php-src/Zend/zend_language_parser.y"
6688
0
                     { (yyval.ast) = (yyvsp[0].ast); }
6689
0
#line 6690 "/src/php-src/Zend/zend_language_parser.c"
6690
0
    break;
6691
6692
0
  case 317:
6693
0
#line 953 "/src/php-src/Zend/zend_language_parser.y"
6694
0
                                 { (yyval.ast) = (yyvsp[0].ast); }
6695
0
#line 6696 "/src/php-src/Zend/zend_language_parser.c"
6696
0
    break;
6697
6698
0
  case 318:
6699
0
#line 957 "/src/php-src/Zend/zend_language_parser.y"
6700
0
                                               { (yyval.ast) = zend_ast_list_add((yyvsp[-2].ast), (yyvsp[0].ast)); }
6701
0
#line 6702 "/src/php-src/Zend/zend_language_parser.c"
6702
0
    break;
6703
6704
0
  case 319:
6705
0
#line 958 "/src/php-src/Zend/zend_language_parser.y"
6706
0
                           { (yyval.ast) = zend_ast_create_list(1, ZEND_AST_STMT_LIST, (yyvsp[0].ast)); }
6707
0
#line 6708 "/src/php-src/Zend/zend_language_parser.c"
6708
0
    break;
6709
6710
0
  case 320:
6711
0
#line 963 "/src/php-src/Zend/zend_language_parser.y"
6712
0
                { (yyval.ast) = zend_ast_create(ZEND_AST_GLOBAL, zend_ast_create(ZEND_AST_VAR, (yyvsp[0].ast))); }
6713
0
#line 6714 "/src/php-src/Zend/zend_language_parser.c"
6714
0
    break;
6715
6716
0
  case 321:
6717
0
#line 968 "/src/php-src/Zend/zend_language_parser.y"
6718
0
                                               { (yyval.ast) = zend_ast_list_add((yyvsp[-2].ast), (yyvsp[0].ast)); }
6719
0
#line 6720 "/src/php-src/Zend/zend_language_parser.c"
6720
0
    break;
6721
6722
0
  case 322:
6723
0
#line 969 "/src/php-src/Zend/zend_language_parser.y"
6724
0
                           { (yyval.ast) = zend_ast_create_list(1, ZEND_AST_STMT_LIST, (yyvsp[0].ast)); }
6725
0
#line 6726 "/src/php-src/Zend/zend_language_parser.c"
6726
0
    break;
6727
6728
0
  case 323:
6729
0
#line 973 "/src/php-src/Zend/zend_language_parser.y"
6730
0
                                                { (yyval.ast) = zend_ast_create(ZEND_AST_STATIC, (yyvsp[0].ast), NULL); }
6731
0
#line 6732 "/src/php-src/Zend/zend_language_parser.c"
6732
0
    break;
6733
6734
0
  case 324:
6735
0
#line 974 "/src/php-src/Zend/zend_language_parser.y"
6736
0
                                        { (yyval.ast) = zend_ast_create(ZEND_AST_STATIC, (yyvsp[-2].ast), (yyvsp[0].ast)); }
6737
0
#line 6738 "/src/php-src/Zend/zend_language_parser.c"
6738
0
    break;
6739
6740
0
  case 325:
6741
0
#line 979 "/src/php-src/Zend/zend_language_parser.y"
6742
0
                        { (yyval.ast) = zend_ast_list_add((yyvsp[-1].ast), (yyvsp[0].ast)); }
6743
0
#line 6744 "/src/php-src/Zend/zend_language_parser.c"
6744
0
    break;
6745
6746
0
  case 326:
6747
0
#line 981 "/src/php-src/Zend/zend_language_parser.y"
6748
0
                        { (yyval.ast) = zend_ast_create_list(0, ZEND_AST_STMT_LIST); }
6749
0
#line 6750 "/src/php-src/Zend/zend_language_parser.c"
6750
0
    break;
6751
6752
0
  case 327:
6753
0
#line 987 "/src/php-src/Zend/zend_language_parser.y"
6754
0
                        { (yyval.ast) = zend_ast_create(ZEND_AST_PROP_GROUP, (yyvsp[-2].ast), (yyvsp[-1].ast), NULL);
6755
0
        (yyval.ast)->attr = (yyvsp[-3].num); }
6756
0
#line 6757 "/src/php-src/Zend/zend_language_parser.c"
6757
0
    break;
6758
6759
0
  case 328:
6760
0
#line 990 "/src/php-src/Zend/zend_language_parser.y"
6761
0
                        { (yyval.ast) = zend_ast_create(ZEND_AST_PROP_GROUP, (yyvsp[-1].ast), zend_ast_create_list(1, ZEND_AST_PROP_DECL, (yyvsp[0].ast)), NULL);
6762
0
        (yyval.ast)->attr = (yyvsp[-2].num); }
6763
0
#line 6764 "/src/php-src/Zend/zend_language_parser.c"
6764
0
    break;
6765
6766
0
  case 329:
6767
0
#line 993 "/src/php-src/Zend/zend_language_parser.y"
6768
0
                        { (yyval.ast) = zend_ast_create(ZEND_AST_CLASS_CONST_GROUP, (yyvsp[-1].ast), NULL, NULL);
6769
0
        (yyval.ast)->attr = (yyvsp[-3].num); }
6770
0
#line 6771 "/src/php-src/Zend/zend_language_parser.c"
6771
0
    break;
6772
6773
0
  case 330:
6774
0
#line 996 "/src/php-src/Zend/zend_language_parser.y"
6775
0
                        { (yyval.ast) = zend_ast_create(ZEND_AST_CLASS_CONST_GROUP, (yyvsp[-1].ast), NULL, (yyvsp[-2].ast));
6776
0
        (yyval.ast)->attr = (yyvsp[-4].num); }
6777
0
#line 6778 "/src/php-src/Zend/zend_language_parser.c"
6778
0
    break;
6779
6780
0
  case 331:
6781
0
#line 1000 "/src/php-src/Zend/zend_language_parser.y"
6782
0
                        { (yyval.ast) = zend_ast_create_decl(ZEND_AST_METHOD, (yyvsp[-9].num) | (yyvsp[-11].num) | (yyvsp[0].num), (yyvsp[-10].num), (yyvsp[-7].str),
6783
0
          zend_ast_get_str((yyvsp[-8].ast)), (yyvsp[-5].ast), NULL, (yyvsp[-1].ast), (yyvsp[-3].ast), NULL); CG(extra_fn_flags) = (yyvsp[-2].num); }
6784
0
#line 6785 "/src/php-src/Zend/zend_language_parser.c"
6785
0
    break;
6786
6787
0
  case 332:
6788
0
#line 1002 "/src/php-src/Zend/zend_language_parser.y"
6789
0
                          { (yyval.ast) = (yyvsp[0].ast); }
6790
0
#line 6791 "/src/php-src/Zend/zend_language_parser.c"
6791
0
    break;
6792
6793
0
  case 333:
6794
0
#line 1006 "/src/php-src/Zend/zend_language_parser.y"
6795
0
                                           { (yyval.ast) = (yyvsp[0].ast); }
6796
0
#line 6797 "/src/php-src/Zend/zend_language_parser.c"
6797
0
    break;
6798
6799
0
  case 334:
6800
0
#line 1007 "/src/php-src/Zend/zend_language_parser.y"
6801
0
                                                      { (yyval.ast) = zend_ast_with_attributes((yyvsp[0].ast), (yyvsp[-1].ast)); }
6802
0
#line 6803 "/src/php-src/Zend/zend_language_parser.c"
6803
0
    break;
6804
6805
0
  case 335:
6806
0
#line 1009 "/src/php-src/Zend/zend_language_parser.y"
6807
0
                        { (yyval.ast) = zend_ast_create(ZEND_AST_USE_TRAIT, (yyvsp[-1].ast), (yyvsp[0].ast)); }
6808
0
#line 6809 "/src/php-src/Zend/zend_language_parser.c"
6809
0
    break;
6810
6811
0
  case 336:
6812
0
#line 1013 "/src/php-src/Zend/zend_language_parser.y"
6813
0
                           { (yyval.ast) = zend_ast_create_list(1, ZEND_AST_NAME_LIST, (yyvsp[0].ast)); }
6814
0
#line 6815 "/src/php-src/Zend/zend_language_parser.c"
6815
0
    break;
6816
6817
0
  case 337:
6818
0
#line 1014 "/src/php-src/Zend/zend_language_parser.y"
6819
0
                                               { (yyval.ast) = zend_ast_list_add((yyvsp[-2].ast), (yyvsp[0].ast)); }
6820
0
#line 6821 "/src/php-src/Zend/zend_language_parser.c"
6821
0
    break;
6822
6823
0
  case 338:
6824
0
#line 1018 "/src/php-src/Zend/zend_language_parser.y"
6825
0
                                                                                { (yyval.ast) = NULL; }
6826
0
#line 6827 "/src/php-src/Zend/zend_language_parser.c"
6827
0
    break;
6828
6829
0
  case 339:
6830
0
#line 1019 "/src/php-src/Zend/zend_language_parser.y"
6831
0
                                                                        { (yyval.ast) = NULL; }
6832
0
#line 6833 "/src/php-src/Zend/zend_language_parser.c"
6833
0
    break;
6834
6835
0
  case 340:
6836
0
#line 1020 "/src/php-src/Zend/zend_language_parser.y"
6837
0
                                                { (yyval.ast) = (yyvsp[-1].ast); }
6838
0
#line 6839 "/src/php-src/Zend/zend_language_parser.c"
6839
0
    break;
6840
6841
0
  case 341:
6842
0
#line 1025 "/src/php-src/Zend/zend_language_parser.y"
6843
0
                        { (yyval.ast) = zend_ast_create_list(1, ZEND_AST_TRAIT_ADAPTATIONS, (yyvsp[0].ast)); }
6844
0
#line 6845 "/src/php-src/Zend/zend_language_parser.c"
6845
0
    break;
6846
6847
0
  case 342:
6848
0
#line 1027 "/src/php-src/Zend/zend_language_parser.y"
6849
0
                        { (yyval.ast) = zend_ast_list_add((yyvsp[-1].ast), (yyvsp[0].ast)); }
6850
0
#line 6851 "/src/php-src/Zend/zend_language_parser.c"
6851
0
    break;
6852
6853
0
  case 343:
6854
0
#line 1031 "/src/php-src/Zend/zend_language_parser.y"
6855
0
                                        { (yyval.ast) = (yyvsp[-1].ast); }
6856
0
#line 6857 "/src/php-src/Zend/zend_language_parser.c"
6857
0
    break;
6858
6859
0
  case 344:
6860
0
#line 1032 "/src/php-src/Zend/zend_language_parser.y"
6861
0
                                                { (yyval.ast) = (yyvsp[-1].ast); }
6862
0
#line 6863 "/src/php-src/Zend/zend_language_parser.c"
6863
0
    break;
6864
6865
0
  case 345:
6866
0
#line 1037 "/src/php-src/Zend/zend_language_parser.y"
6867
0
                { (yyval.ast) = zend_ast_create(ZEND_AST_TRAIT_PRECEDENCE, (yyvsp[-2].ast), (yyvsp[0].ast)); }
6868
0
#line 6869 "/src/php-src/Zend/zend_language_parser.c"
6869
0
    break;
6870
6871
0
  case 346:
6872
0
#line 1042 "/src/php-src/Zend/zend_language_parser.y"
6873
0
                        { (yyval.ast) = zend_ast_create(ZEND_AST_TRAIT_ALIAS, (yyvsp[-2].ast), (yyvsp[0].ast)); }
6874
0
#line 6875 "/src/php-src/Zend/zend_language_parser.c"
6875
0
    break;
6876
6877
0
  case 347:
6878
0
#line 1044 "/src/php-src/Zend/zend_language_parser.y"
6879
0
                        { zval zv;
6880
0
        if (zend_lex_tstring(&zv, (yyvsp[0].ident)) == FAILURE) { YYABORT; }
6881
0
        (yyval.ast) = zend_ast_create(ZEND_AST_TRAIT_ALIAS, (yyvsp[-2].ast), zend_ast_create_zval(&zv)); }
6882
0
#line 6883 "/src/php-src/Zend/zend_language_parser.c"
6883
0
    break;
6884
6885
0
  case 348:
6886
0
#line 1048 "/src/php-src/Zend/zend_language_parser.y"
6887
0
                        { uint32_t modifiers = zend_modifier_token_to_flag(ZEND_MODIFIER_TARGET_METHOD, (yyvsp[-1].num));
6888
0
        (yyval.ast) = zend_ast_create_ex(ZEND_AST_TRAIT_ALIAS, modifiers, (yyvsp[-3].ast), (yyvsp[0].ast));
6889
        /* identifier nonterminal can cause allocations, so we need to free the node */
6890
0
        if (!modifiers) { zend_ast_destroy((yyval.ast)); YYERROR; } }
6891
0
#line 6892 "/src/php-src/Zend/zend_language_parser.c"
6892
0
    break;
6893
6894
0
  case 349:
6895
0
#line 1053 "/src/php-src/Zend/zend_language_parser.y"
6896
0
                        { uint32_t modifiers = zend_modifier_token_to_flag(ZEND_MODIFIER_TARGET_METHOD, (yyvsp[0].num));
6897
0
        (yyval.ast) = zend_ast_create_ex(ZEND_AST_TRAIT_ALIAS, modifiers, (yyvsp[-2].ast), NULL);
6898
        /* identifier nonterminal can cause allocations, so we need to free the node */
6899
0
        if (!modifiers) { zend_ast_destroy((yyval.ast)); YYERROR; } }
6900
0
#line 6901 "/src/php-src/Zend/zend_language_parser.c"
6901
0
    break;
6902
6903
0
  case 350:
6904
0
#line 1061 "/src/php-src/Zend/zend_language_parser.y"
6905
0
                        { (yyval.ast) = zend_ast_create(ZEND_AST_TRAIT_METHOD_REFERENCE, NULL, (yyvsp[0].ast)); }
6906
0
#line 6907 "/src/php-src/Zend/zend_language_parser.c"
6907
0
    break;
6908
6909
0
  case 351:
6910
0
#line 1062 "/src/php-src/Zend/zend_language_parser.y"
6911
0
                                                { (yyval.ast) = (yyvsp[0].ast); }
6912
0
#line 6913 "/src/php-src/Zend/zend_language_parser.c"
6913
0
    break;
6914
6915
0
  case 352:
6916
0
#line 1067 "/src/php-src/Zend/zend_language_parser.y"
6917
0
                { (yyval.ast) = zend_ast_create(ZEND_AST_TRAIT_METHOD_REFERENCE, (yyvsp[-2].ast), (yyvsp[0].ast)); }
6918
0
#line 6919 "/src/php-src/Zend/zend_language_parser.c"
6919
0
    break;
6920
6921
0
  case 353:
6922
0
#line 1071 "/src/php-src/Zend/zend_language_parser.y"
6923
0
                                                        { (yyval.ast) = NULL; }
6924
0
#line 6925 "/src/php-src/Zend/zend_language_parser.c"
6925
0
    break;
6926
6927
0
  case 354:
6928
0
#line 1072 "/src/php-src/Zend/zend_language_parser.y"
6929
0
                                                { (yyval.ast) = (yyvsp[-1].ast); }
6930
0
#line 6931 "/src/php-src/Zend/zend_language_parser.c"
6931
0
    break;
6932
6933
0
  case 355:
6934
0
#line 1077 "/src/php-src/Zend/zend_language_parser.y"
6935
0
                        { (yyval.num) = zend_modifier_list_to_flags(ZEND_MODIFIER_TARGET_PROPERTY, (yyvsp[0].ast));
6936
0
        if (!(yyval.num)) { YYERROR; } }
6937
0
#line 6938 "/src/php-src/Zend/zend_language_parser.c"
6938
0
    break;
6939
6940
0
  case 356:
6941
0
#line 1080 "/src/php-src/Zend/zend_language_parser.y"
6942
0
                        { (yyval.num) = ZEND_ACC_PUBLIC; }
6943
0
#line 6944 "/src/php-src/Zend/zend_language_parser.c"
6944
0
    break;
6945
6946
0
  case 357:
6947
0
#line 1085 "/src/php-src/Zend/zend_language_parser.y"
6948
0
                        { (yyval.num) = ZEND_ACC_PUBLIC; }
6949
0
#line 6950 "/src/php-src/Zend/zend_language_parser.c"
6950
0
    break;
6951
6952
0
  case 358:
6953
0
#line 1087 "/src/php-src/Zend/zend_language_parser.y"
6954
0
                        { (yyval.num) = zend_modifier_list_to_flags(ZEND_MODIFIER_TARGET_METHOD, (yyvsp[0].ast));
6955
0
        if (!(yyval.num)) { YYERROR; }
6956
0
        if (!((yyval.num) & ZEND_ACC_PPP_MASK)) { (yyval.num) |= ZEND_ACC_PUBLIC; } }
6957
0
#line 6958 "/src/php-src/Zend/zend_language_parser.c"
6958
0
    break;
6959
6960
0
  case 359:
6961
0
#line 1094 "/src/php-src/Zend/zend_language_parser.y"
6962
0
                        { (yyval.num) = ZEND_ACC_PUBLIC; }
6963
0
#line 6964 "/src/php-src/Zend/zend_language_parser.c"
6964
0
    break;
6965
6966
0
  case 360:
6967
0
#line 1096 "/src/php-src/Zend/zend_language_parser.y"
6968
0
                        { (yyval.num) = zend_modifier_list_to_flags(ZEND_MODIFIER_TARGET_CONSTANT, (yyvsp[0].ast));
6969
0
        if (!(yyval.num)) { YYERROR; }
6970
0
        if (!((yyval.num) & ZEND_ACC_PPP_MASK)) { (yyval.num) |= ZEND_ACC_PUBLIC; } }
6971
0
#line 6972 "/src/php-src/Zend/zend_language_parser.c"
6972
0
    break;
6973
6974
0
  case 361:
6975
0
#line 1103 "/src/php-src/Zend/zend_language_parser.y"
6976
0
                        { (yyval.ast) = zend_ast_create_list(1, ZEND_AST_MODIFIER_LIST, zend_ast_create_zval_from_long((yyvsp[0].num))); }
6977
0
#line 6978 "/src/php-src/Zend/zend_language_parser.c"
6978
0
    break;
6979
6980
0
  case 362:
6981
0
#line 1105 "/src/php-src/Zend/zend_language_parser.y"
6982
0
                        { (yyval.ast) = zend_ast_list_add((yyvsp[-1].ast), zend_ast_create_zval_from_long((yyvsp[0].num))); }
6983
0
#line 6984 "/src/php-src/Zend/zend_language_parser.c"
6984
0
    break;
6985
6986
0
  case 363:
6987
0
#line 1109 "/src/php-src/Zend/zend_language_parser.y"
6988
0
                                                        { (yyval.num) = T_PUBLIC; }
6989
0
#line 6990 "/src/php-src/Zend/zend_language_parser.c"
6990
0
    break;
6991
6992
0
  case 364:
6993
0
#line 1110 "/src/php-src/Zend/zend_language_parser.y"
6994
0
                                                        { (yyval.num) = T_PROTECTED; }
6995
0
#line 6996 "/src/php-src/Zend/zend_language_parser.c"
6996
0
    break;
6997
6998
0
  case 365:
6999
0
#line 1111 "/src/php-src/Zend/zend_language_parser.y"
7000
0
                                                        { (yyval.num) = T_PRIVATE; }
7001
0
#line 7002 "/src/php-src/Zend/zend_language_parser.c"
7002
0
    break;
7003
7004
0
  case 366:
7005
0
#line 1112 "/src/php-src/Zend/zend_language_parser.y"
7006
0
                                                { (yyval.num) = T_PUBLIC_SET; }
7007
0
#line 7008 "/src/php-src/Zend/zend_language_parser.c"
7008
0
    break;
7009
7010
0
  case 367:
7011
0
#line 1113 "/src/php-src/Zend/zend_language_parser.y"
7012
0
                                                { (yyval.num) = T_PROTECTED_SET; }
7013
0
#line 7014 "/src/php-src/Zend/zend_language_parser.c"
7014
0
    break;
7015
7016
0
  case 368:
7017
0
#line 1114 "/src/php-src/Zend/zend_language_parser.y"
7018
0
                                                { (yyval.num) = T_PRIVATE_SET; }
7019
0
#line 7020 "/src/php-src/Zend/zend_language_parser.c"
7020
0
    break;
7021
7022
0
  case 369:
7023
0
#line 1115 "/src/php-src/Zend/zend_language_parser.y"
7024
0
                                                        { (yyval.num) = T_STATIC; }
7025
0
#line 7026 "/src/php-src/Zend/zend_language_parser.c"
7026
0
    break;
7027
7028
0
  case 370:
7029
0
#line 1116 "/src/php-src/Zend/zend_language_parser.y"
7030
0
                                                        { (yyval.num) = T_ABSTRACT; }
7031
0
#line 7032 "/src/php-src/Zend/zend_language_parser.c"
7032
0
    break;
7033
7034
0
  case 371:
7035
0
#line 1117 "/src/php-src/Zend/zend_language_parser.y"
7036
0
                                                        { (yyval.num) = T_FINAL; }
7037
0
#line 7038 "/src/php-src/Zend/zend_language_parser.c"
7038
0
    break;
7039
7040
0
  case 372:
7041
0
#line 1118 "/src/php-src/Zend/zend_language_parser.y"
7042
0
                                                        { (yyval.num) = T_READONLY; }
7043
0
#line 7044 "/src/php-src/Zend/zend_language_parser.c"
7044
0
    break;
7045
7046
0
  case 373:
7047
0
#line 1122 "/src/php-src/Zend/zend_language_parser.y"
7048
0
                                           { (yyval.ast) = zend_ast_list_add((yyvsp[-2].ast), (yyvsp[0].ast)); }
7049
0
#line 7050 "/src/php-src/Zend/zend_language_parser.c"
7050
0
    break;
7051
7052
0
  case 374:
7053
0
#line 1123 "/src/php-src/Zend/zend_language_parser.y"
7054
0
                         { (yyval.ast) = zend_ast_create_list(1, ZEND_AST_PROP_DECL, (yyvsp[0].ast)); }
7055
0
#line 7056 "/src/php-src/Zend/zend_language_parser.c"
7056
0
    break;
7057
7058
0
  case 375:
7059
0
#line 1128 "/src/php-src/Zend/zend_language_parser.y"
7060
0
                        { (yyval.ast) = zend_ast_create(ZEND_AST_PROP_ELEM, (yyvsp[-1].ast), NULL, ((yyvsp[0].str) ? zend_ast_create_zval_from_str((yyvsp[0].str)) : NULL), NULL); }
7061
0
#line 7062 "/src/php-src/Zend/zend_language_parser.c"
7062
0
    break;
7063
7064
0
  case 376:
7065
0
#line 1130 "/src/php-src/Zend/zend_language_parser.y"
7066
0
                        { (yyval.ast) = zend_ast_create(ZEND_AST_PROP_ELEM, (yyvsp[-3].ast), (yyvsp[-1].ast), ((yyvsp[0].str) ? zend_ast_create_zval_from_str((yyvsp[0].str)) : NULL), NULL); }
7067
0
#line 7068 "/src/php-src/Zend/zend_language_parser.c"
7068
0
    break;
7069
7070
0
  case 377:
7071
0
#line 1135 "/src/php-src/Zend/zend_language_parser.y"
7072
0
                        { (yyval.ast) = zend_ast_create(ZEND_AST_PROP_ELEM, (yyvsp[-4].ast), NULL, ((yyvsp[-3].str) ? zend_ast_create_zval_from_str((yyvsp[-3].str)) : NULL), (yyvsp[-1].ast)); }
7073
0
#line 7074 "/src/php-src/Zend/zend_language_parser.c"
7074
0
    break;
7075
7076
0
  case 378:
7077
0
#line 1137 "/src/php-src/Zend/zend_language_parser.y"
7078
0
                        { (yyval.ast) = zend_ast_create(ZEND_AST_PROP_ELEM, (yyvsp[-6].ast), (yyvsp[-4].ast), ((yyvsp[-3].str) ? zend_ast_create_zval_from_str((yyvsp[-3].str)) : NULL), (yyvsp[-1].ast)); }
7079
0
#line 7080 "/src/php-src/Zend/zend_language_parser.c"
7080
0
    break;
7081
7082
0
  case 379:
7083
0
#line 1141 "/src/php-src/Zend/zend_language_parser.y"
7084
0
                       { (yyval.ast) = zend_ast_create_list(0, ZEND_AST_STMT_LIST); }
7085
0
#line 7086 "/src/php-src/Zend/zend_language_parser.c"
7086
0
    break;
7087
7088
0
  case 380:
7089
0
#line 1142 "/src/php-src/Zend/zend_language_parser.y"
7090
0
                                                 { (yyval.ast) = zend_ast_list_add((yyvsp[-1].ast), (yyvsp[0].ast)); }
7091
0
#line 7092 "/src/php-src/Zend/zend_language_parser.c"
7092
0
    break;
7093
7094
0
  case 381:
7095
0
#line 1143 "/src/php-src/Zend/zend_language_parser.y"
7096
0
                                                            {
7097
0
      (yyval.ast) = zend_ast_list_add((yyvsp[-2].ast), zend_ast_with_attributes((yyvsp[0].ast), (yyvsp[-1].ast)));
7098
0
    }
7099
0
#line 7100 "/src/php-src/Zend/zend_language_parser.c"
7100
0
    break;
7101
7102
0
  case 382:
7103
0
#line 1149 "/src/php-src/Zend/zend_language_parser.y"
7104
0
                        { (yyval.ast) = NULL; }
7105
0
#line 7106 "/src/php-src/Zend/zend_language_parser.c"
7106
0
    break;
7107
7108
0
  case 383:
7109
0
#line 1150 "/src/php-src/Zend/zend_language_parser.y"
7110
0
                                                { (yyval.ast) = (yyvsp[-1].ast); }
7111
0
#line 7112 "/src/php-src/Zend/zend_language_parser.c"
7112
0
    break;
7113
7114
0
  case 384:
7115
0
#line 1154 "/src/php-src/Zend/zend_language_parser.y"
7116
0
                       { (yyval.num) = 0; }
7117
0
#line 7118 "/src/php-src/Zend/zend_language_parser.c"
7118
0
    break;
7119
7120
0
  case 385:
7121
0
#line 1155 "/src/php-src/Zend/zend_language_parser.y"
7122
0
                                           {
7123
0
      (yyval.num) = zend_modifier_list_to_flags(ZEND_MODIFIER_TARGET_PROPERTY_HOOK, (yyvsp[0].ast));
7124
0
      if (!(yyval.num)) { YYERROR; }
7125
0
    }
7126
0
#line 7127 "/src/php-src/Zend/zend_language_parser.c"
7127
0
    break;
7128
7129
0
  case 386:
7130
0
#line 1163 "/src/php-src/Zend/zend_language_parser.y"
7131
0
                                   { (yyval.num) = CG(zend_lineno); }
7132
0
#line 7133 "/src/php-src/Zend/zend_language_parser.c"
7133
0
    break;
7134
7135
0
  case 387:
7136
0
#line 1164 "/src/php-src/Zend/zend_language_parser.y"
7137
0
                                                                                           {
7138
0
      (yyval.ast) = zend_ast_create_decl(
7139
0
        ZEND_AST_PROPERTY_HOOK, (yyvsp[-8].num) | (yyvsp[-7].num) | (yyvsp[0].num), (yyvsp[-4].num), (yyvsp[-5].str), zend_ast_get_str((yyvsp[-6].ast)),
7140
0
        (yyvsp[-3].ast), NULL, (yyvsp[-1].ast), NULL, NULL);
7141
0
      CG(extra_fn_flags) = (yyvsp[-2].num);
7142
0
    }
7143
0
#line 7144 "/src/php-src/Zend/zend_language_parser.c"
7144
0
    break;
7145
7146
0
  case 388:
7147
0
#line 1173 "/src/php-src/Zend/zend_language_parser.y"
7148
0
                    { (yyval.ast) = NULL; }
7149
0
#line 7150 "/src/php-src/Zend/zend_language_parser.c"
7150
0
    break;
7151
7152
0
  case 389:
7153
0
#line 1174 "/src/php-src/Zend/zend_language_parser.y"
7154
0
                                             { (yyval.ast) = (yyvsp[-1].ast); }
7155
0
#line 7156 "/src/php-src/Zend/zend_language_parser.c"
7156
0
    break;
7157
7158
0
  case 390:
7159
0
#line 1176 "/src/php-src/Zend/zend_language_parser.y"
7160
0
                        { (yyval.ast) = zend_ast_create(ZEND_AST_PROPERTY_HOOK_SHORT_BODY, (yyvsp[-1].ast)); }
7161
0
#line 7162 "/src/php-src/Zend/zend_language_parser.c"
7162
0
    break;
7163
7164
0
  case 391:
7165
0
#line 1180 "/src/php-src/Zend/zend_language_parser.y"
7166
0
                       { (yyval.ast) = NULL; }
7167
0
#line 7168 "/src/php-src/Zend/zend_language_parser.c"
7168
0
    break;
7169
7170
0
  case 392:
7171
0
#line 1181 "/src/php-src/Zend/zend_language_parser.y"
7172
0
                                       { (yyval.ast) = (yyvsp[-1].ast); }
7173
0
#line 7174 "/src/php-src/Zend/zend_language_parser.c"
7174
0
    break;
7175
7176
0
  case 393:
7177
0
#line 1185 "/src/php-src/Zend/zend_language_parser.y"
7178
0
                                                      { (yyval.ast) = zend_ast_list_add((yyvsp[-2].ast), (yyvsp[0].ast)); }
7179
0
#line 7180 "/src/php-src/Zend/zend_language_parser.c"
7180
0
    break;
7181
7182
0
  case 394:
7183
0
#line 1186 "/src/php-src/Zend/zend_language_parser.y"
7184
0
                                 { (yyval.ast) = zend_ast_create_list(1, ZEND_AST_CLASS_CONST_DECL, (yyvsp[0].ast)); }
7185
0
#line 7186 "/src/php-src/Zend/zend_language_parser.c"
7186
0
    break;
7187
7188
0
  case 395:
7189
0
#line 1190 "/src/php-src/Zend/zend_language_parser.y"
7190
0
                                                     { (yyval.ast) = zend_ast_create(ZEND_AST_CONST_ELEM, (yyvsp[-3].ast), (yyvsp[-1].ast), ((yyvsp[0].str) ? zend_ast_create_zval_from_str((yyvsp[0].str)) : NULL)); }
7191
0
#line 7192 "/src/php-src/Zend/zend_language_parser.c"
7192
0
    break;
7193
7194
0
  case 396:
7195
0
#line 1191 "/src/php-src/Zend/zend_language_parser.y"
7196
0
                                                          {
7197
0
      zval zv;
7198
0
      if (zend_lex_tstring(&zv, (yyvsp[-3].ident)) == FAILURE) { YYABORT; }
7199
0
      (yyval.ast) = zend_ast_create(ZEND_AST_CONST_ELEM, zend_ast_create_zval(&zv), (yyvsp[-1].ast), ((yyvsp[0].str) ? zend_ast_create_zval_from_str((yyvsp[0].str)) : NULL));
7200
0
    }
7201
0
#line 7202 "/src/php-src/Zend/zend_language_parser.c"
7202
0
    break;
7203
7204
0
  case 397:
7205
0
#line 1199 "/src/php-src/Zend/zend_language_parser.y"
7206
0
                                             { (yyval.ast) = zend_ast_create(ZEND_AST_CONST_ELEM, (yyvsp[-3].ast), (yyvsp[-1].ast), ((yyvsp[0].str) ? zend_ast_create_zval_from_str((yyvsp[0].str)) : NULL)); }
7207
0
#line 7208 "/src/php-src/Zend/zend_language_parser.c"
7208
0
    break;
7209
7210
0
  case 398:
7211
0
#line 1203 "/src/php-src/Zend/zend_language_parser.y"
7212
0
                                             { (yyval.ast) = zend_ast_list_add((yyvsp[-2].ast), (yyvsp[0].ast)); }
7213
0
#line 7214 "/src/php-src/Zend/zend_language_parser.c"
7214
0
    break;
7215
7216
0
  case 399:
7217
0
#line 1204 "/src/php-src/Zend/zend_language_parser.y"
7218
0
                          { (yyval.ast) = zend_ast_create_list(1, ZEND_AST_STMT_LIST, (yyvsp[0].ast)); }
7219
0
#line 7220 "/src/php-src/Zend/zend_language_parser.c"
7220
0
    break;
7221
7222
0
  case 400:
7223
0
#line 1207 "/src/php-src/Zend/zend_language_parser.y"
7224
0
             { (yyval.ast) = zend_ast_create(ZEND_AST_ECHO, (yyvsp[0].ast)); }
7225
0
#line 7226 "/src/php-src/Zend/zend_language_parser.c"
7226
0
    break;
7227
7228
0
  case 401:
7229
0
#line 1211 "/src/php-src/Zend/zend_language_parser.y"
7230
0
                                        { (yyval.ast) = NULL; }
7231
0
#line 7232 "/src/php-src/Zend/zend_language_parser.c"
7232
0
    break;
7233
7234
0
  case 402:
7235
0
#line 1212 "/src/php-src/Zend/zend_language_parser.y"
7236
0
                                             { (yyval.ast) = zend_ast_list_add((yyvsp[-2].ast), (yyvsp[0].ast)); }
7237
0
#line 7238 "/src/php-src/Zend/zend_language_parser.c"
7238
0
    break;
7239
7240
0
  case 403:
7241
0
#line 1213 "/src/php-src/Zend/zend_language_parser.y"
7242
0
                     { (yyval.ast) = zend_ast_create_list(1, ZEND_AST_EXPR_LIST, (yyvsp[0].ast)); }
7243
0
#line 7244 "/src/php-src/Zend/zend_language_parser.c"
7244
0
    break;
7245
7246
0
  case 404:
7247
0
#line 1217 "/src/php-src/Zend/zend_language_parser.y"
7248
0
                                        { (yyval.ast) = NULL; }
7249
0
#line 7250 "/src/php-src/Zend/zend_language_parser.c"
7250
0
    break;
7251
7252
0
  case 405:
7253
0
#line 1218 "/src/php-src/Zend/zend_language_parser.y"
7254
0
                                        { (yyval.ast) = (yyvsp[0].ast); }
7255
0
#line 7256 "/src/php-src/Zend/zend_language_parser.c"
7256
0
    break;
7257
7258
0
  case 406:
7259
0
#line 1222 "/src/php-src/Zend/zend_language_parser.y"
7260
0
                                             { (yyval.ast) = zend_ast_list_add((yyvsp[-2].ast), (yyvsp[0].ast)); }
7261
0
#line 7262 "/src/php-src/Zend/zend_language_parser.c"
7262
0
    break;
7263
7264
0
  case 407:
7265
0
#line 1223 "/src/php-src/Zend/zend_language_parser.y"
7266
0
                                                         { (yyval.ast) = zend_ast_list_add((yyvsp[-3].ast), zend_ast_create(ZEND_AST_CAST_VOID, (yyvsp[0].ast))); }
7267
0
#line 7268 "/src/php-src/Zend/zend_language_parser.c"
7268
0
    break;
7269
7270
0
  case 408:
7271
0
#line 1224 "/src/php-src/Zend/zend_language_parser.y"
7272
0
                                 { (yyval.ast) = zend_ast_create_list(1, ZEND_AST_EXPR_LIST, zend_ast_create(ZEND_AST_CAST_VOID, (yyvsp[0].ast))); }
7273
0
#line 7274 "/src/php-src/Zend/zend_language_parser.c"
7274
0
    break;
7275
7276
0
  case 409:
7277
0
#line 1225 "/src/php-src/Zend/zend_language_parser.y"
7278
0
                     { (yyval.ast) = zend_ast_create_list(1, ZEND_AST_EXPR_LIST, (yyvsp[0].ast)); }
7279
0
#line 7280 "/src/php-src/Zend/zend_language_parser.c"
7280
0
    break;
7281
7282
0
  case 410:
7283
0
#line 1229 "/src/php-src/Zend/zend_language_parser.y"
7284
0
                                                           { (yyval.num) = CG(zend_lineno); }
7285
0
#line 7286 "/src/php-src/Zend/zend_language_parser.c"
7286
0
    break;
7287
7288
0
  case 411:
7289
0
#line 1230 "/src/php-src/Zend/zend_language_parser.y"
7290
0
                                                                                             {
7291
0
      zend_ast *decl = zend_ast_create_decl(
7292
0
        ZEND_AST_CLASS, ZEND_ACC_ANON_CLASS | (yyvsp[-9].num), (yyvsp[-7].num), (yyvsp[-3].str), NULL,
7293
0
        (yyvsp[-5].ast), (yyvsp[-4].ast), (yyvsp[-1].ast), NULL, NULL);
7294
0
      (yyval.ast) = zend_ast_create(ZEND_AST_NEW, decl, (yyvsp[-6].ast));
7295
0
    }
7296
0
#line 7297 "/src/php-src/Zend/zend_language_parser.c"
7297
0
    break;
7298
7299
0
  case 412:
7300
0
#line 1240 "/src/php-src/Zend/zend_language_parser.y"
7301
0
                        { (yyval.ast) = zend_ast_create(ZEND_AST_NEW, (yyvsp[-1].ast), (yyvsp[0].ast)); }
7302
0
#line 7303 "/src/php-src/Zend/zend_language_parser.c"
7303
0
    break;
7304
7305
0
  case 413:
7306
0
#line 1242 "/src/php-src/Zend/zend_language_parser.y"
7307
0
                        { (yyval.ast) = (yyvsp[0].ast); }
7308
0
#line 7309 "/src/php-src/Zend/zend_language_parser.c"
7309
0
    break;
7310
7311
0
  case 414:
7312
0
#line 1244 "/src/php-src/Zend/zend_language_parser.y"
7313
0
                        { zend_ast_with_attributes((yyvsp[0].ast)->child[0], (yyvsp[-1].ast)); (yyval.ast) = (yyvsp[0].ast); }
7314
0
#line 7315 "/src/php-src/Zend/zend_language_parser.c"
7315
0
    break;
7316
7317
0
  case 415:
7318
0
#line 1249 "/src/php-src/Zend/zend_language_parser.y"
7319
0
                        { (yyval.ast) = zend_ast_create(ZEND_AST_NEW, (yyvsp[0].ast), zend_ast_create_list(0, ZEND_AST_ARG_LIST)); }
7320
0
#line 7321 "/src/php-src/Zend/zend_language_parser.c"
7321
0
    break;
7322
7323
0
  case 416:
7324
0
#line 1254 "/src/php-src/Zend/zend_language_parser.y"
7325
0
                        { (yyval.ast) = (yyvsp[0].ast); }
7326
0
#line 7327 "/src/php-src/Zend/zend_language_parser.c"
7327
0
    break;
7328
7329
0
  case 417:
7330
0
#line 1256 "/src/php-src/Zend/zend_language_parser.y"
7331
0
                        { (yyvsp[-3].ast)->attr = ZEND_ARRAY_SYNTAX_LIST; (yyval.ast) = zend_ast_create(ZEND_AST_ASSIGN, (yyvsp[-3].ast), (yyvsp[0].ast)); }
7332
0
#line 7333 "/src/php-src/Zend/zend_language_parser.c"
7333
0
    break;
7334
7335
0
  case 418:
7336
0
#line 1258 "/src/php-src/Zend/zend_language_parser.y"
7337
0
                        { (yyvsp[-3].ast)->attr = ZEND_ARRAY_SYNTAX_SHORT; (yyval.ast) = zend_ast_create(ZEND_AST_ASSIGN, (yyvsp[-3].ast), (yyvsp[0].ast)); }
7338
0
#line 7339 "/src/php-src/Zend/zend_language_parser.c"
7339
0
    break;
7340
7341
0
  case 419:
7342
0
#line 1260 "/src/php-src/Zend/zend_language_parser.y"
7343
0
                        { (yyval.ast) = zend_ast_create(ZEND_AST_ASSIGN, (yyvsp[-2].ast), (yyvsp[0].ast)); }
7344
0
#line 7345 "/src/php-src/Zend/zend_language_parser.c"
7345
0
    break;
7346
7347
0
  case 420:
7348
0
#line 1262 "/src/php-src/Zend/zend_language_parser.y"
7349
0
                        { (yyval.ast) = zend_ast_create(ZEND_AST_ASSIGN_REF, (yyvsp[-3].ast), (yyvsp[0].ast)); }
7350
0
#line 7351 "/src/php-src/Zend/zend_language_parser.c"
7351
0
    break;
7352
7353
0
  case 421:
7354
0
#line 1263 "/src/php-src/Zend/zend_language_parser.y"
7355
0
                                            {
7356
0
      zend_ast *name = zend_ast_create_zval_from_str(ZSTR_KNOWN(ZEND_STR_CLONE));
7357
0
      name->attr = ZEND_NAME_FQ;
7358
0
      (yyval.ast) = zend_ast_create(ZEND_AST_CALL, name, (yyvsp[0].ast));
7359
0
    }
7360
0
#line 7361 "/src/php-src/Zend/zend_language_parser.c"
7361
0
    break;
7362
7363
0
  case 422:
7364
0
#line 1268 "/src/php-src/Zend/zend_language_parser.y"
7365
0
                             {
7366
0
      zend_ast *name = zend_ast_create_zval_from_str(ZSTR_KNOWN(ZEND_STR_CLONE));
7367
0
      name->attr = ZEND_NAME_FQ;
7368
0
      (yyval.ast) = zend_ast_create(ZEND_AST_CALL, name, zend_ast_create_list(1, ZEND_AST_ARG_LIST, (yyvsp[0].ast)));
7369
0
    }
7370
0
#line 7371 "/src/php-src/Zend/zend_language_parser.c"
7371
0
    break;
7372
7373
0
  case 423:
7374
0
#line 1274 "/src/php-src/Zend/zend_language_parser.y"
7375
0
                        { (yyval.ast) = zend_ast_create_assign_op(ZEND_ADD, (yyvsp[-2].ast), (yyvsp[0].ast)); }
7376
0
#line 7377 "/src/php-src/Zend/zend_language_parser.c"
7377
0
    break;
7378
7379
0
  case 424:
7380
0
#line 1276 "/src/php-src/Zend/zend_language_parser.y"
7381
0
                        { (yyval.ast) = zend_ast_create_assign_op(ZEND_SUB, (yyvsp[-2].ast), (yyvsp[0].ast)); }
7382
0
#line 7383 "/src/php-src/Zend/zend_language_parser.c"
7383
0
    break;
7384
7385
0
  case 425:
7386
0
#line 1278 "/src/php-src/Zend/zend_language_parser.y"
7387
0
                        { (yyval.ast) = zend_ast_create_assign_op(ZEND_MUL, (yyvsp[-2].ast), (yyvsp[0].ast)); }
7388
0
#line 7389 "/src/php-src/Zend/zend_language_parser.c"
7389
0
    break;
7390
7391
0
  case 426:
7392
0
#line 1280 "/src/php-src/Zend/zend_language_parser.y"
7393
0
                        { (yyval.ast) = zend_ast_create_assign_op(ZEND_POW, (yyvsp[-2].ast), (yyvsp[0].ast)); }
7394
0
#line 7395 "/src/php-src/Zend/zend_language_parser.c"
7395
0
    break;
7396
7397
0
  case 427:
7398
0
#line 1282 "/src/php-src/Zend/zend_language_parser.y"
7399
0
                        { (yyval.ast) = zend_ast_create_assign_op(ZEND_DIV, (yyvsp[-2].ast), (yyvsp[0].ast)); }
7400
0
#line 7401 "/src/php-src/Zend/zend_language_parser.c"
7401
0
    break;
7402
7403
0
  case 428:
7404
0
#line 1284 "/src/php-src/Zend/zend_language_parser.y"
7405
0
                        { (yyval.ast) = zend_ast_create_assign_op(ZEND_CONCAT, (yyvsp[-2].ast), (yyvsp[0].ast)); }
7406
0
#line 7407 "/src/php-src/Zend/zend_language_parser.c"
7407
0
    break;
7408
7409
0
  case 429:
7410
0
#line 1286 "/src/php-src/Zend/zend_language_parser.y"
7411
0
                        { (yyval.ast) = zend_ast_create_assign_op(ZEND_MOD, (yyvsp[-2].ast), (yyvsp[0].ast)); }
7412
0
#line 7413 "/src/php-src/Zend/zend_language_parser.c"
7413
0
    break;
7414
7415
0
  case 430:
7416
0
#line 1288 "/src/php-src/Zend/zend_language_parser.y"
7417
0
                        { (yyval.ast) = zend_ast_create_assign_op(ZEND_BW_AND, (yyvsp[-2].ast), (yyvsp[0].ast)); }
7418
0
#line 7419 "/src/php-src/Zend/zend_language_parser.c"
7419
0
    break;
7420
7421
0
  case 431:
7422
0
#line 1290 "/src/php-src/Zend/zend_language_parser.y"
7423
0
                        { (yyval.ast) = zend_ast_create_assign_op(ZEND_BW_OR, (yyvsp[-2].ast), (yyvsp[0].ast)); }
7424
0
#line 7425 "/src/php-src/Zend/zend_language_parser.c"
7425
0
    break;
7426
7427
0
  case 432:
7428
0
#line 1292 "/src/php-src/Zend/zend_language_parser.y"
7429
0
                        { (yyval.ast) = zend_ast_create_assign_op(ZEND_BW_XOR, (yyvsp[-2].ast), (yyvsp[0].ast)); }
7430
0
#line 7431 "/src/php-src/Zend/zend_language_parser.c"
7431
0
    break;
7432
7433
0
  case 433:
7434
0
#line 1294 "/src/php-src/Zend/zend_language_parser.y"
7435
0
                        { (yyval.ast) = zend_ast_create_assign_op(ZEND_SL, (yyvsp[-2].ast), (yyvsp[0].ast)); }
7436
0
#line 7437 "/src/php-src/Zend/zend_language_parser.c"
7437
0
    break;
7438
7439
0
  case 434:
7440
0
#line 1296 "/src/php-src/Zend/zend_language_parser.y"
7441
0
                        { (yyval.ast) = zend_ast_create_assign_op(ZEND_SR, (yyvsp[-2].ast), (yyvsp[0].ast)); }
7442
0
#line 7443 "/src/php-src/Zend/zend_language_parser.c"
7443
0
    break;
7444
7445
0
  case 435:
7446
0
#line 1298 "/src/php-src/Zend/zend_language_parser.y"
7447
0
                        { (yyval.ast) = zend_ast_create(ZEND_AST_ASSIGN_COALESCE, (yyvsp[-2].ast), (yyvsp[0].ast)); }
7448
0
#line 7449 "/src/php-src/Zend/zend_language_parser.c"
7449
0
    break;
7450
7451
0
  case 436:
7452
0
#line 1299 "/src/php-src/Zend/zend_language_parser.y"
7453
0
                               { (yyval.ast) = zend_ast_create(ZEND_AST_POST_INC, (yyvsp[-1].ast)); }
7454
0
#line 7455 "/src/php-src/Zend/zend_language_parser.c"
7455
0
    break;
7456
7457
0
  case 437:
7458
0
#line 1300 "/src/php-src/Zend/zend_language_parser.y"
7459
0
                               { (yyval.ast) = zend_ast_create(ZEND_AST_PRE_INC, (yyvsp[0].ast)); }
7460
0
#line 7461 "/src/php-src/Zend/zend_language_parser.c"
7461
0
    break;
7462
7463
0
  case 438:
7464
0
#line 1301 "/src/php-src/Zend/zend_language_parser.y"
7465
0
                               { (yyval.ast) = zend_ast_create(ZEND_AST_POST_DEC, (yyvsp[-1].ast)); }
7466
0
#line 7467 "/src/php-src/Zend/zend_language_parser.c"
7467
0
    break;
7468
7469
0
  case 439:
7470
0
#line 1302 "/src/php-src/Zend/zend_language_parser.y"
7471
0
                               { (yyval.ast) = zend_ast_create(ZEND_AST_PRE_DEC, (yyvsp[0].ast)); }
7472
0
#line 7473 "/src/php-src/Zend/zend_language_parser.c"
7473
0
    break;
7474
7475
0
  case 440:
7476
0
#line 1304 "/src/php-src/Zend/zend_language_parser.y"
7477
0
                        { (yyval.ast) = zend_ast_create(ZEND_AST_OR, (yyvsp[-2].ast), (yyvsp[0].ast)); }
7478
0
#line 7479 "/src/php-src/Zend/zend_language_parser.c"
7479
0
    break;
7480
7481
0
  case 441:
7482
0
#line 1306 "/src/php-src/Zend/zend_language_parser.y"
7483
0
                        { (yyval.ast) = zend_ast_create(ZEND_AST_AND, (yyvsp[-2].ast), (yyvsp[0].ast)); }
7484
0
#line 7485 "/src/php-src/Zend/zend_language_parser.c"
7485
0
    break;
7486
7487
0
  case 442:
7488
0
#line 1308 "/src/php-src/Zend/zend_language_parser.y"
7489
0
                        { (yyval.ast) = zend_ast_create(ZEND_AST_OR, (yyvsp[-2].ast), (yyvsp[0].ast)); }
7490
0
#line 7491 "/src/php-src/Zend/zend_language_parser.c"
7491
0
    break;
7492
7493
0
  case 443:
7494
0
#line 1310 "/src/php-src/Zend/zend_language_parser.y"
7495
0
                        { (yyval.ast) = zend_ast_create(ZEND_AST_AND, (yyvsp[-2].ast), (yyvsp[0].ast)); }
7496
0
#line 7497 "/src/php-src/Zend/zend_language_parser.c"
7497
0
    break;
7498
7499
0
  case 444:
7500
0
#line 1312 "/src/php-src/Zend/zend_language_parser.y"
7501
0
                        { (yyval.ast) = zend_ast_create_binary_op(ZEND_BOOL_XOR, (yyvsp[-2].ast), (yyvsp[0].ast)); }
7502
0
#line 7503 "/src/php-src/Zend/zend_language_parser.c"
7503
0
    break;
7504
7505
0
  case 445:
7506
0
#line 1313 "/src/php-src/Zend/zend_language_parser.y"
7507
0
                                { (yyval.ast) = zend_ast_create_binary_op(ZEND_BW_OR, (yyvsp[-2].ast), (yyvsp[0].ast)); }
7508
0
#line 7509 "/src/php-src/Zend/zend_language_parser.c"
7509
0
    break;
7510
7511
0
  case 446:
7512
0
#line 1314 "/src/php-src/Zend/zend_language_parser.y"
7513
0
                                                                        { (yyval.ast) = zend_ast_create_binary_op(ZEND_BW_AND, (yyvsp[-2].ast), (yyvsp[0].ast)); }
7514
0
#line 7515 "/src/php-src/Zend/zend_language_parser.c"
7515
0
    break;
7516
7517
0
  case 447:
7518
0
#line 1315 "/src/php-src/Zend/zend_language_parser.y"
7519
0
                                                                { (yyval.ast) = zend_ast_create_binary_op(ZEND_BW_AND, (yyvsp[-2].ast), (yyvsp[0].ast)); }
7520
0
#line 7521 "/src/php-src/Zend/zend_language_parser.c"
7521
0
    break;
7522
7523
0
  case 448:
7524
0
#line 1316 "/src/php-src/Zend/zend_language_parser.y"
7525
0
                                { (yyval.ast) = zend_ast_create_binary_op(ZEND_BW_XOR, (yyvsp[-2].ast), (yyvsp[0].ast)); }
7526
0
#line 7527 "/src/php-src/Zend/zend_language_parser.c"
7527
0
    break;
7528
7529
0
  case 449:
7530
0
#line 1317 "/src/php-src/Zend/zend_language_parser.y"
7531
0
                                { (yyval.ast) = zend_ast_create_concat_op((yyvsp[-2].ast), (yyvsp[0].ast)); }
7532
0
#line 7533 "/src/php-src/Zend/zend_language_parser.c"
7533
0
    break;
7534
7535
0
  case 450:
7536
0
#line 1318 "/src/php-src/Zend/zend_language_parser.y"
7537
0
                                { (yyval.ast) = zend_ast_create_binary_op(ZEND_ADD, (yyvsp[-2].ast), (yyvsp[0].ast)); }
7538
0
#line 7539 "/src/php-src/Zend/zend_language_parser.c"
7539
0
    break;
7540
7541
0
  case 451:
7542
0
#line 1319 "/src/php-src/Zend/zend_language_parser.y"
7543
0
                                { (yyval.ast) = zend_ast_create_binary_op(ZEND_SUB, (yyvsp[-2].ast), (yyvsp[0].ast)); }
7544
0
#line 7545 "/src/php-src/Zend/zend_language_parser.c"
7545
0
    break;
7546
7547
0
  case 452:
7548
0
#line 1320 "/src/php-src/Zend/zend_language_parser.y"
7549
0
                                { (yyval.ast) = zend_ast_create_binary_op(ZEND_MUL, (yyvsp[-2].ast), (yyvsp[0].ast)); }
7550
0
#line 7551 "/src/php-src/Zend/zend_language_parser.c"
7551
0
    break;
7552
7553
0
  case 453:
7554
0
#line 1321 "/src/php-src/Zend/zend_language_parser.y"
7555
0
                                { (yyval.ast) = zend_ast_create_binary_op(ZEND_POW, (yyvsp[-2].ast), (yyvsp[0].ast)); }
7556
0
#line 7557 "/src/php-src/Zend/zend_language_parser.c"
7557
0
    break;
7558
7559
0
  case 454:
7560
0
#line 1322 "/src/php-src/Zend/zend_language_parser.y"
7561
0
                                { (yyval.ast) = zend_ast_create_binary_op(ZEND_DIV, (yyvsp[-2].ast), (yyvsp[0].ast)); }
7562
0
#line 7563 "/src/php-src/Zend/zend_language_parser.c"
7563
0
    break;
7564
7565
0
  case 455:
7566
0
#line 1323 "/src/php-src/Zend/zend_language_parser.y"
7567
0
                                { (yyval.ast) = zend_ast_create_binary_op(ZEND_MOD, (yyvsp[-2].ast), (yyvsp[0].ast)); }
7568
0
#line 7569 "/src/php-src/Zend/zend_language_parser.c"
7569
0
    break;
7570
7571
0
  case 456:
7572
0
#line 1324 "/src/php-src/Zend/zend_language_parser.y"
7573
0
                                { (yyval.ast) = zend_ast_create_binary_op(ZEND_SL, (yyvsp[-2].ast), (yyvsp[0].ast)); }
7574
0
#line 7575 "/src/php-src/Zend/zend_language_parser.c"
7575
0
    break;
7576
7577
0
  case 457:
7578
0
#line 1325 "/src/php-src/Zend/zend_language_parser.y"
7579
0
                                { (yyval.ast) = zend_ast_create_binary_op(ZEND_SR, (yyvsp[-2].ast), (yyvsp[0].ast)); }
7580
0
#line 7581 "/src/php-src/Zend/zend_language_parser.c"
7581
0
    break;
7582
7583
0
  case 458:
7584
0
#line 1326 "/src/php-src/Zend/zend_language_parser.y"
7585
0
                                   { (yyval.ast) = zend_ast_create(ZEND_AST_UNARY_PLUS, (yyvsp[0].ast)); }
7586
0
#line 7587 "/src/php-src/Zend/zend_language_parser.c"
7587
0
    break;
7588
7589
0
  case 459:
7590
0
#line 1327 "/src/php-src/Zend/zend_language_parser.y"
7591
0
                                   { (yyval.ast) = zend_ast_create(ZEND_AST_UNARY_MINUS, (yyvsp[0].ast)); }
7592
0
#line 7593 "/src/php-src/Zend/zend_language_parser.c"
7593
0
    break;
7594
7595
0
  case 460:
7596
0
#line 1328 "/src/php-src/Zend/zend_language_parser.y"
7597
0
                         { (yyval.ast) = zend_ast_create_ex(ZEND_AST_UNARY_OP, ZEND_BOOL_NOT, (yyvsp[0].ast)); }
7598
0
#line 7599 "/src/php-src/Zend/zend_language_parser.c"
7599
0
    break;
7600
7601
0
  case 461:
7602
0
#line 1329 "/src/php-src/Zend/zend_language_parser.y"
7603
0
                         { (yyval.ast) = zend_ast_create_ex(ZEND_AST_UNARY_OP, ZEND_BW_NOT, (yyvsp[0].ast)); }
7604
0
#line 7605 "/src/php-src/Zend/zend_language_parser.c"
7605
0
    break;
7606
7607
0
  case 462:
7608
0
#line 1331 "/src/php-src/Zend/zend_language_parser.y"
7609
0
                        { (yyval.ast) = zend_ast_create_binary_op(ZEND_IS_IDENTICAL, (yyvsp[-2].ast), (yyvsp[0].ast)); }
7610
0
#line 7611 "/src/php-src/Zend/zend_language_parser.c"
7611
0
    break;
7612
7613
0
  case 463:
7614
0
#line 1333 "/src/php-src/Zend/zend_language_parser.y"
7615
0
                        { (yyval.ast) = zend_ast_create_binary_op(ZEND_IS_NOT_IDENTICAL, (yyvsp[-2].ast), (yyvsp[0].ast)); }
7616
0
#line 7617 "/src/php-src/Zend/zend_language_parser.c"
7617
0
    break;
7618
7619
0
  case 464:
7620
0
#line 1335 "/src/php-src/Zend/zend_language_parser.y"
7621
0
                        { (yyval.ast) = zend_ast_create_binary_op(ZEND_IS_EQUAL, (yyvsp[-2].ast), (yyvsp[0].ast)); }
7622
0
#line 7623 "/src/php-src/Zend/zend_language_parser.c"
7623
0
    break;
7624
7625
0
  case 465:
7626
0
#line 1337 "/src/php-src/Zend/zend_language_parser.y"
7627
0
                        { (yyval.ast) = zend_ast_create_binary_op(ZEND_IS_NOT_EQUAL, (yyvsp[-2].ast), (yyvsp[0].ast)); }
7628
0
#line 7629 "/src/php-src/Zend/zend_language_parser.c"
7629
0
    break;
7630
7631
0
  case 466:
7632
0
#line 1339 "/src/php-src/Zend/zend_language_parser.y"
7633
0
                        { (yyval.ast) = zend_ast_create(ZEND_AST_PIPE, (yyvsp[-2].ast), (yyvsp[0].ast)); }
7634
0
#line 7635 "/src/php-src/Zend/zend_language_parser.c"
7635
0
    break;
7636
7637
0
  case 467:
7638
0
#line 1341 "/src/php-src/Zend/zend_language_parser.y"
7639
0
                        { (yyval.ast) = zend_ast_create_binary_op(ZEND_IS_SMALLER, (yyvsp[-2].ast), (yyvsp[0].ast)); }
7640
0
#line 7641 "/src/php-src/Zend/zend_language_parser.c"
7641
0
    break;
7642
7643
0
  case 468:
7644
0
#line 1343 "/src/php-src/Zend/zend_language_parser.y"
7645
0
                        { (yyval.ast) = zend_ast_create_binary_op(ZEND_IS_SMALLER_OR_EQUAL, (yyvsp[-2].ast), (yyvsp[0].ast)); }
7646
0
#line 7647 "/src/php-src/Zend/zend_language_parser.c"
7647
0
    break;
7648
7649
0
  case 469:
7650
0
#line 1345 "/src/php-src/Zend/zend_language_parser.y"
7651
0
                        { (yyval.ast) = zend_ast_create(ZEND_AST_GREATER, (yyvsp[-2].ast), (yyvsp[0].ast)); }
7652
0
#line 7653 "/src/php-src/Zend/zend_language_parser.c"
7653
0
    break;
7654
7655
0
  case 470:
7656
0
#line 1347 "/src/php-src/Zend/zend_language_parser.y"
7657
0
                        { (yyval.ast) = zend_ast_create(ZEND_AST_GREATER_EQUAL, (yyvsp[-2].ast), (yyvsp[0].ast)); }
7658
0
#line 7659 "/src/php-src/Zend/zend_language_parser.c"
7659
0
    break;
7660
7661
0
  case 471:
7662
0
#line 1349 "/src/php-src/Zend/zend_language_parser.y"
7663
0
                        { (yyval.ast) = zend_ast_create_binary_op(ZEND_SPACESHIP, (yyvsp[-2].ast), (yyvsp[0].ast)); }
7664
0
#line 7665 "/src/php-src/Zend/zend_language_parser.c"
7665
0
    break;
7666
7667
0
  case 472:
7668
0
#line 1351 "/src/php-src/Zend/zend_language_parser.y"
7669
0
                        { (yyval.ast) = zend_ast_create(ZEND_AST_INSTANCEOF, (yyvsp[-2].ast), (yyvsp[0].ast)); }
7670
0
#line 7671 "/src/php-src/Zend/zend_language_parser.c"
7671
0
    break;
7672
7673
0
  case 473:
7674
0
#line 1352 "/src/php-src/Zend/zend_language_parser.y"
7675
0
                             {
7676
0
      (yyval.ast) = (yyvsp[-1].ast);
7677
0
      if ((yyval.ast)->kind == ZEND_AST_CONDITIONAL) (yyval.ast)->attr = ZEND_PARENTHESIZED_CONDITIONAL;
7678
0
      if ((yyval.ast)->kind == ZEND_AST_ARROW_FUNC) (yyval.ast)->attr = ZEND_PARENTHESIZED_ARROW_FUNC;
7679
0
    }
7680
0
#line 7681 "/src/php-src/Zend/zend_language_parser.c"
7681
0
    break;
7682
7683
0
  case 474:
7684
0
#line 1357 "/src/php-src/Zend/zend_language_parser.y"
7685
0
                                    { (yyval.ast) = (yyvsp[0].ast); }
7686
0
#line 7687 "/src/php-src/Zend/zend_language_parser.c"
7687
0
    break;
7688
7689
0
  case 475:
7690
0
#line 1358 "/src/php-src/Zend/zend_language_parser.y"
7691
0
                                        { (yyval.ast) = (yyvsp[0].ast); }
7692
0
#line 7693 "/src/php-src/Zend/zend_language_parser.c"
7693
0
    break;
7694
7695
0
  case 476:
7696
0
#line 1360 "/src/php-src/Zend/zend_language_parser.y"
7697
0
                        { (yyval.ast) = zend_ast_create(ZEND_AST_CONDITIONAL, (yyvsp[-4].ast), (yyvsp[-2].ast), (yyvsp[0].ast)); }
7698
0
#line 7699 "/src/php-src/Zend/zend_language_parser.c"
7699
0
    break;
7700
7701
0
  case 477:
7702
0
#line 1362 "/src/php-src/Zend/zend_language_parser.y"
7703
0
                        { (yyval.ast) = zend_ast_create(ZEND_AST_CONDITIONAL, (yyvsp[-3].ast), NULL, (yyvsp[0].ast)); }
7704
0
#line 7705 "/src/php-src/Zend/zend_language_parser.c"
7705
0
    break;
7706
7707
0
  case 478:
7708
0
#line 1364 "/src/php-src/Zend/zend_language_parser.y"
7709
0
                        { (yyval.ast) = zend_ast_create(ZEND_AST_COALESCE, (yyvsp[-2].ast), (yyvsp[0].ast)); }
7710
0
#line 7711 "/src/php-src/Zend/zend_language_parser.c"
7711
0
    break;
7712
7713
0
  case 479:
7714
0
#line 1365 "/src/php-src/Zend/zend_language_parser.y"
7715
0
                                           { (yyval.ast) = (yyvsp[0].ast); }
7716
0
#line 7717 "/src/php-src/Zend/zend_language_parser.c"
7717
0
    break;
7718
7719
0
  case 480:
7720
0
#line 1366 "/src/php-src/Zend/zend_language_parser.y"
7721
0
                                        { (yyval.ast) = zend_ast_create_cast(IS_LONG, (yyvsp[0].ast)); }
7722
0
#line 7723 "/src/php-src/Zend/zend_language_parser.c"
7723
0
    break;
7724
7725
0
  case 481:
7726
0
#line 1367 "/src/php-src/Zend/zend_language_parser.y"
7727
0
                                        { (yyval.ast) = zend_ast_create_cast(IS_DOUBLE, (yyvsp[0].ast)); }
7728
0
#line 7729 "/src/php-src/Zend/zend_language_parser.c"
7729
0
    break;
7730
7731
0
  case 482:
7732
0
#line 1368 "/src/php-src/Zend/zend_language_parser.y"
7733
0
                                        { (yyval.ast) = zend_ast_create_cast(IS_STRING, (yyvsp[0].ast)); }
7734
0
#line 7735 "/src/php-src/Zend/zend_language_parser.c"
7735
0
    break;
7736
7737
0
  case 483:
7738
0
#line 1369 "/src/php-src/Zend/zend_language_parser.y"
7739
0
                                        { (yyval.ast) = zend_ast_create_cast(IS_ARRAY, (yyvsp[0].ast)); }
7740
0
#line 7741 "/src/php-src/Zend/zend_language_parser.c"
7741
0
    break;
7742
7743
0
  case 484:
7744
0
#line 1370 "/src/php-src/Zend/zend_language_parser.y"
7745
0
                                        { (yyval.ast) = zend_ast_create_cast(IS_OBJECT, (yyvsp[0].ast)); }
7746
0
#line 7747 "/src/php-src/Zend/zend_language_parser.c"
7747
0
    break;
7748
7749
0
  case 485:
7750
0
#line 1371 "/src/php-src/Zend/zend_language_parser.y"
7751
0
                                        { (yyval.ast) = zend_ast_create_cast(_IS_BOOL, (yyvsp[0].ast)); }
7752
0
#line 7753 "/src/php-src/Zend/zend_language_parser.c"
7753
0
    break;
7754
7755
0
  case 486:
7756
0
#line 1372 "/src/php-src/Zend/zend_language_parser.y"
7757
0
                                        { (yyval.ast) = zend_ast_create_cast(IS_NULL, (yyvsp[0].ast)); }
7758
0
#line 7759 "/src/php-src/Zend/zend_language_parser.c"
7759
0
    break;
7760
7761
0
  case 487:
7762
0
#line 1373 "/src/php-src/Zend/zend_language_parser.y"
7763
0
                                      {
7764
0
      zend_ast *name = zend_ast_create_zval_from_str(ZSTR_KNOWN(ZEND_STR_EXIT));
7765
0
      name->attr = ZEND_NAME_FQ;
7766
0
      (yyval.ast) = zend_ast_create(ZEND_AST_CALL, name, (yyvsp[0].ast));
7767
0
    }
7768
0
#line 7769 "/src/php-src/Zend/zend_language_parser.c"
7769
0
    break;
7770
7771
0
  case 488:
7772
0
#line 1378 "/src/php-src/Zend/zend_language_parser.y"
7773
0
                                                { (yyval.ast) = zend_ast_create(ZEND_AST_SILENCE, (yyvsp[0].ast)); }
7774
0
#line 7775 "/src/php-src/Zend/zend_language_parser.c"
7775
0
    break;
7776
7777
0
  case 489:
7778
0
#line 1379 "/src/php-src/Zend/zend_language_parser.y"
7779
0
                       { (yyval.ast) = (yyvsp[0].ast); }
7780
0
#line 7781 "/src/php-src/Zend/zend_language_parser.c"
7781
0
    break;
7782
7783
0
  case 490:
7784
0
#line 1380 "/src/php-src/Zend/zend_language_parser.y"
7785
0
                                       { (yyval.ast) = zend_ast_create(ZEND_AST_SHELL_EXEC, (yyvsp[-1].ast)); }
7786
0
#line 7787 "/src/php-src/Zend/zend_language_parser.c"
7787
0
    break;
7788
7789
0
  case 491:
7790
0
#line 1381 "/src/php-src/Zend/zend_language_parser.y"
7791
0
                             { (yyval.ast) = zend_ast_create(ZEND_AST_PRINT, (yyvsp[0].ast)); }
7792
0
#line 7793 "/src/php-src/Zend/zend_language_parser.c"
7793
0
    break;
7794
7795
0
  case 492:
7796
0
#line 1382 "/src/php-src/Zend/zend_language_parser.y"
7797
0
                        { (yyval.ast) = zend_ast_create(ZEND_AST_YIELD, NULL, NULL); CG(extra_fn_flags) |= ZEND_ACC_GENERATOR; }
7798
0
#line 7799 "/src/php-src/Zend/zend_language_parser.c"
7799
0
    break;
7800
7801
0
  case 493:
7802
0
#line 1383 "/src/php-src/Zend/zend_language_parser.y"
7803
0
                             { (yyval.ast) = zend_ast_create(ZEND_AST_YIELD, (yyvsp[0].ast), NULL); CG(extra_fn_flags) |= ZEND_ACC_GENERATOR; }
7804
0
#line 7805 "/src/php-src/Zend/zend_language_parser.c"
7805
0
    break;
7806
7807
0
  case 494:
7808
0
#line 1384 "/src/php-src/Zend/zend_language_parser.y"
7809
0
                                                 { (yyval.ast) = zend_ast_create(ZEND_AST_YIELD, (yyvsp[0].ast), (yyvsp[-2].ast)); CG(extra_fn_flags) |= ZEND_ACC_GENERATOR; }
7810
0
#line 7811 "/src/php-src/Zend/zend_language_parser.c"
7811
0
    break;
7812
7813
0
  case 495:
7814
0
#line 1385 "/src/php-src/Zend/zend_language_parser.y"
7815
0
                                  { (yyval.ast) = zend_ast_create(ZEND_AST_YIELD_FROM, (yyvsp[0].ast)); CG(extra_fn_flags) |= ZEND_ACC_GENERATOR; }
7816
0
#line 7817 "/src/php-src/Zend/zend_language_parser.c"
7817
0
    break;
7818
7819
0
  case 496:
7820
0
#line 1386 "/src/php-src/Zend/zend_language_parser.y"
7821
0
                             { (yyval.ast) = zend_ast_create(ZEND_AST_THROW, (yyvsp[0].ast)); }
7822
0
#line 7823 "/src/php-src/Zend/zend_language_parser.c"
7823
0
    break;
7824
7825
0
  case 497:
7826
0
#line 1387 "/src/php-src/Zend/zend_language_parser.y"
7827
0
                                { (yyval.ast) = (yyvsp[0].ast); }
7828
0
#line 7829 "/src/php-src/Zend/zend_language_parser.c"
7829
0
    break;
7830
7831
0
  case 498:
7832
0
#line 1388 "/src/php-src/Zend/zend_language_parser.y"
7833
0
                                           { (yyval.ast) = zend_ast_with_attributes((yyvsp[0].ast), (yyvsp[-1].ast)); }
7834
0
#line 7835 "/src/php-src/Zend/zend_language_parser.c"
7835
0
    break;
7836
7837
0
  case 499:
7838
0
#line 1389 "/src/php-src/Zend/zend_language_parser.y"
7839
0
                                         { (yyval.ast) = (yyvsp[0].ast); ((zend_ast_decl *) (yyval.ast))->flags |= ZEND_ACC_STATIC; }
7840
0
#line 7841 "/src/php-src/Zend/zend_language_parser.c"
7841
0
    break;
7842
7843
0
  case 500:
7844
0
#line 1391 "/src/php-src/Zend/zend_language_parser.y"
7845
0
                        { (yyval.ast) = zend_ast_with_attributes((yyvsp[0].ast), (yyvsp[-2].ast)); ((zend_ast_decl *) (yyval.ast))->flags |= ZEND_ACC_STATIC; }
7846
0
#line 7847 "/src/php-src/Zend/zend_language_parser.c"
7847
0
    break;
7848
7849
0
  case 501:
7850
0
#line 1392 "/src/php-src/Zend/zend_language_parser.y"
7851
0
                      { (yyval.ast) = (yyvsp[0].ast); }
7852
0
#line 7853 "/src/php-src/Zend/zend_language_parser.c"
7853
0
    break;
7854
7855
0
  case 502:
7856
0
#line 1399 "/src/php-src/Zend/zend_language_parser.y"
7857
0
                        { (yyval.ast) = zend_ast_create_decl(ZEND_AST_CLOSURE, (yyvsp[-11].num) | (yyvsp[0].num), (yyvsp[-12].num), (yyvsp[-10].str),
7858
0
          NULL,
7859
0
          (yyvsp[-8].ast), (yyvsp[-6].ast), (yyvsp[-2].ast), (yyvsp[-5].ast), NULL); CG(extra_fn_flags) = (yyvsp[-4].num); }
7860
0
#line 7861 "/src/php-src/Zend/zend_language_parser.c"
7861
0
    break;
7862
7863
0
  case 503:
7864
0
#line 1404 "/src/php-src/Zend/zend_language_parser.y"
7865
0
                        { (yyval.ast) = zend_ast_create_decl(ZEND_AST_ARROW_FUNC, (yyvsp[-10].num) | (yyvsp[0].num), (yyvsp[-11].num), (yyvsp[-9].str),
7866
0
          NULL, (yyvsp[-7].ast), NULL, (yyvsp[-1].ast), (yyvsp[-5].ast), NULL);
7867
0
          CG(extra_fn_flags) = (yyvsp[-3].num); }
7868
0
#line 7869 "/src/php-src/Zend/zend_language_parser.c"
7869
0
    break;
7870
7871
0
  case 504:
7872
0
#line 1410 "/src/php-src/Zend/zend_language_parser.y"
7873
0
             { (yyval.num) = CG(zend_lineno); }
7874
0
#line 7875 "/src/php-src/Zend/zend_language_parser.c"
7875
0
    break;
7876
7877
0
  case 505:
7878
0
#line 1414 "/src/php-src/Zend/zend_language_parser.y"
7879
0
                   { (yyval.num) = CG(zend_lineno); }
7880
0
#line 7881 "/src/php-src/Zend/zend_language_parser.c"
7881
0
    break;
7882
7883
0
  case 506:
7884
0
#line 1418 "/src/php-src/Zend/zend_language_parser.y"
7885
0
               { (yyval.str) = CG(doc_comment); CG(doc_comment) = NULL; }
7886
0
#line 7887 "/src/php-src/Zend/zend_language_parser.c"
7887
0
    break;
7888
7889
0
  case 507:
7890
0
#line 1422 "/src/php-src/Zend/zend_language_parser.y"
7891
0
                                         { (yyval.num) = CG(extra_fn_flags); CG(extra_fn_flags) = 0; }
7892
0
#line 7893 "/src/php-src/Zend/zend_language_parser.c"
7893
0
    break;
7894
7895
0
  case 508:
7896
0
#line 1426 "/src/php-src/Zend/zend_language_parser.y"
7897
0
               { (yyval.ptr) = LANG_SCNG(yy_text); }
7898
0
#line 7899 "/src/php-src/Zend/zend_language_parser.c"
7899
0
    break;
7900
7901
0
  case 509:
7902
0
#line 1430 "/src/php-src/Zend/zend_language_parser.y"
7903
0
                        { (yyval.num) = 0; }
7904
0
#line 7905 "/src/php-src/Zend/zend_language_parser.c"
7905
0
    break;
7906
7907
0
  case 510:
7908
0
#line 1431 "/src/php-src/Zend/zend_language_parser.y"
7909
0
                                { (yyval.num) = ZEND_ACC_RETURN_REFERENCE; }
7910
0
#line 7911 "/src/php-src/Zend/zend_language_parser.c"
7911
0
    break;
7912
7913
0
  case 511:
7914
0
#line 1435 "/src/php-src/Zend/zend_language_parser.y"
7915
0
                       { (yyval.ast) = NULL; }
7916
0
#line 7917 "/src/php-src/Zend/zend_language_parser.c"
7917
0
    break;
7918
7919
0
  case 512:
7920
0
#line 1436 "/src/php-src/Zend/zend_language_parser.y"
7921
0
                                                              { (yyval.ast) = (yyvsp[-2].ast); }
7922
0
#line 7923 "/src/php-src/Zend/zend_language_parser.c"
7923
0
    break;
7924
7925
0
  case 513:
7926
0
#line 1440 "/src/php-src/Zend/zend_language_parser.y"
7927
0
                                                 { (yyval.ast) = zend_ast_list_add((yyvsp[-2].ast), (yyvsp[0].ast)); }
7928
0
#line 7929 "/src/php-src/Zend/zend_language_parser.c"
7929
0
    break;
7930
7931
0
  case 514:
7932
0
#line 1441 "/src/php-src/Zend/zend_language_parser.y"
7933
0
                            { (yyval.ast) = zend_ast_create_list(1, ZEND_AST_CLOSURE_USES, (yyvsp[0].ast)); }
7934
0
#line 7935 "/src/php-src/Zend/zend_language_parser.c"
7935
0
    break;
7936
7937
0
  case 515:
7938
0
#line 1445 "/src/php-src/Zend/zend_language_parser.y"
7939
0
                                        { (yyval.ast) = (yyvsp[0].ast); }
7940
0
#line 7941 "/src/php-src/Zend/zend_language_parser.c"
7941
0
    break;
7942
7943
0
  case 516:
7944
0
#line 1446 "/src/php-src/Zend/zend_language_parser.y"
7945
0
                                        { (yyval.ast) = (yyvsp[0].ast); (yyval.ast)->attr = ZEND_BIND_REF; }
7946
0
#line 7947 "/src/php-src/Zend/zend_language_parser.c"
7947
0
    break;
7948
7949
0
  case 517:
7950
0
#line 1451 "/src/php-src/Zend/zend_language_parser.y"
7951
0
                        { (yyval.ast) = zend_ast_create(ZEND_AST_CALL, (yyvsp[-1].ast), (yyvsp[0].ast)); }
7952
0
#line 7953 "/src/php-src/Zend/zend_language_parser.c"
7953
0
    break;
7954
7955
0
  case 518:
7956
0
#line 1452 "/src/php-src/Zend/zend_language_parser.y"
7957
0
                                         {
7958
0
      zval zv;
7959
0
      if (zend_lex_tstring(&zv, (yyvsp[-1].ident)) == FAILURE) { YYABORT; }
7960
0
      (yyval.ast) = zend_ast_create(ZEND_AST_CALL, zend_ast_create_zval(&zv), (yyvsp[0].ast));
7961
0
    }
7962
0
#line 7963 "/src/php-src/Zend/zend_language_parser.c"
7963
0
    break;
7964
7965
0
  case 519:
7966
0
#line 1458 "/src/php-src/Zend/zend_language_parser.y"
7967
0
                        { (yyval.ast) = zend_ast_create(ZEND_AST_STATIC_CALL, (yyvsp[-3].ast), (yyvsp[-1].ast), (yyvsp[0].ast)); }
7968
0
#line 7969 "/src/php-src/Zend/zend_language_parser.c"
7969
0
    break;
7970
7971
0
  case 520:
7972
0
#line 1460 "/src/php-src/Zend/zend_language_parser.y"
7973
0
                        { (yyval.ast) = zend_ast_create(ZEND_AST_STATIC_CALL, (yyvsp[-3].ast), (yyvsp[-1].ast), (yyvsp[0].ast)); }
7974
0
#line 7975 "/src/php-src/Zend/zend_language_parser.c"
7975
0
    break;
7976
7977
0
  case 521:
7978
0
#line 1461 "/src/php-src/Zend/zend_language_parser.y"
7979
0
                              { (yyval.num) = CG(zend_lineno); }
7980
0
#line 7981 "/src/php-src/Zend/zend_language_parser.c"
7981
0
    break;
7982
7983
0
  case 522:
7984
0
#line 1461 "/src/php-src/Zend/zend_language_parser.y"
7985
0
                                                                           {
7986
0
      (yyval.ast) = zend_ast_create(ZEND_AST_CALL, (yyvsp[-2].ast), (yyvsp[0].ast));
7987
0
      (yyval.ast)->lineno = (yyvsp[-1].num);
7988
0
    }
7989
0
#line 7990 "/src/php-src/Zend/zend_language_parser.c"
7990
0
    break;
7991
7992
0
  case 523:
7993
0
#line 1469 "/src/php-src/Zend/zend_language_parser.y"
7994
0
                        { zval zv; ZVAL_INTERNED_STR(&zv, ZSTR_KNOWN(ZEND_STR_STATIC));
7995
0
        (yyval.ast) = zend_ast_create_zval_ex(&zv, ZEND_NAME_NOT_FQ); }
7996
0
#line 7997 "/src/php-src/Zend/zend_language_parser.c"
7997
0
    break;
7998
7999
0
  case 524:
8000
0
#line 1471 "/src/php-src/Zend/zend_language_parser.y"
8001
0
                     { (yyval.ast) = (yyvsp[0].ast); }
8002
0
#line 8003 "/src/php-src/Zend/zend_language_parser.c"
8003
0
    break;
8004
8005
0
  case 525:
8006
0
#line 1475 "/src/php-src/Zend/zend_language_parser.y"
8007
0
                                        { (yyval.ast) = (yyvsp[0].ast); }
8008
0
#line 8009 "/src/php-src/Zend/zend_language_parser.c"
8009
0
    break;
8010
8011
0
  case 526:
8012
0
#line 1476 "/src/php-src/Zend/zend_language_parser.y"
8013
0
                                { (yyval.ast) = (yyvsp[0].ast); }
8014
0
#line 8015 "/src/php-src/Zend/zend_language_parser.c"
8015
0
    break;
8016
8017
0
  case 527:
8018
0
#line 1477 "/src/php-src/Zend/zend_language_parser.y"
8019
0
                                { (yyval.ast) = (yyvsp[-1].ast); }
8020
0
#line 8021 "/src/php-src/Zend/zend_language_parser.c"
8021
0
    break;
8022
8023
0
  case 528:
8024
0
#line 1482 "/src/php-src/Zend/zend_language_parser.y"
8025
0
                        { (yyval.ast) = zend_ast_create_zval_from_str(ZSTR_EMPTY_ALLOC()); }
8026
0
#line 8027 "/src/php-src/Zend/zend_language_parser.c"
8027
0
    break;
8028
8029
0
  case 529:
8030
0
#line 1483 "/src/php-src/Zend/zend_language_parser.y"
8031
0
                                          { (yyval.ast) = (yyvsp[0].ast); }
8032
0
#line 8033 "/src/php-src/Zend/zend_language_parser.c"
8033
0
    break;
8034
8035
0
  case 530:
8036
0
#line 1484 "/src/php-src/Zend/zend_language_parser.y"
8037
0
                            { (yyval.ast) = (yyvsp[0].ast); }
8038
0
#line 8039 "/src/php-src/Zend/zend_language_parser.c"
8039
0
    break;
8040
8041
0
  case 531:
8042
0
#line 1489 "/src/php-src/Zend/zend_language_parser.y"
8043
0
                        { (yyval.ast) = zend_ast_create_list(0, ZEND_AST_ARG_LIST); }
8044
0
#line 8045 "/src/php-src/Zend/zend_language_parser.c"
8045
0
    break;
8046
8047
0
  case 532:
8048
0
#line 1490 "/src/php-src/Zend/zend_language_parser.y"
8049
0
                              { (yyval.ast) = (yyvsp[0].ast); }
8050
0
#line 8051 "/src/php-src/Zend/zend_language_parser.c"
8051
0
    break;
8052
8053
0
  case 533:
8054
0
#line 1495 "/src/php-src/Zend/zend_language_parser.y"
8055
0
                                                { (yyval.ast) = (yyvsp[-1].ast); (yyval.ast)->attr = ZEND_ARRAY_SYNTAX_LONG; }
8056
0
#line 8057 "/src/php-src/Zend/zend_language_parser.c"
8057
0
    break;
8058
8059
0
  case 534:
8060
0
#line 1496 "/src/php-src/Zend/zend_language_parser.y"
8061
0
                                                        { (yyval.ast) = (yyvsp[-1].ast); (yyval.ast)->attr = ZEND_ARRAY_SYNTAX_SHORT; }
8062
0
#line 8063 "/src/php-src/Zend/zend_language_parser.c"
8063
0
    break;
8064
8065
0
  case 535:
8066
0
#line 1497 "/src/php-src/Zend/zend_language_parser.y"
8067
0
                                                        { (yyval.ast) = (yyvsp[0].ast); }
8068
0
#line 8069 "/src/php-src/Zend/zend_language_parser.c"
8069
0
    break;
8070
8071
0
  case 536:
8072
0
#line 1498 "/src/php-src/Zend/zend_language_parser.y"
8073
0
                                                                { (yyval.ast) = (yyvsp[-1].ast); }
8074
0
#line 8075 "/src/php-src/Zend/zend_language_parser.c"
8075
0
    break;
8076
8077
0
  case 537:
8078
0
#line 1502 "/src/php-src/Zend/zend_language_parser.y"
8079
0
                                { (yyval.ast) = (yyvsp[0].ast); }
8080
0
#line 8081 "/src/php-src/Zend/zend_language_parser.c"
8081
0
    break;
8082
8083
0
  case 538:
8084
0
#line 1503 "/src/php-src/Zend/zend_language_parser.y"
8085
0
                                { (yyval.ast) = (yyvsp[0].ast); }
8086
0
#line 8087 "/src/php-src/Zend/zend_language_parser.c"
8087
0
    break;
8088
8089
0
  case 539:
8090
0
#line 1504 "/src/php-src/Zend/zend_language_parser.y"
8091
0
                                                                        { (yyval.ast) = (yyvsp[-1].ast); }
8092
0
#line 8093 "/src/php-src/Zend/zend_language_parser.c"
8093
0
    break;
8094
8095
0
  case 540:
8096
0
#line 1506 "/src/php-src/Zend/zend_language_parser.y"
8097
0
                        { (yyval.ast) = zend_ast_create_zval_from_str(ZSTR_EMPTY_ALLOC()); }
8098
0
#line 8099 "/src/php-src/Zend/zend_language_parser.c"
8099
0
    break;
8100
8101
0
  case 541:
8102
0
#line 1507 "/src/php-src/Zend/zend_language_parser.y"
8103
0
                                                          { (yyval.ast) = (yyvsp[-1].ast); }
8104
0
#line 8105 "/src/php-src/Zend/zend_language_parser.c"
8105
0
    break;
8106
8107
0
  case 542:
8108
0
#line 1508 "/src/php-src/Zend/zend_language_parser.y"
8109
0
                                        { (yyval.ast) = (yyvsp[0].ast); }
8110
0
#line 8111 "/src/php-src/Zend/zend_language_parser.c"
8111
0
    break;
8112
8113
0
  case 543:
8114
0
#line 1509 "/src/php-src/Zend/zend_language_parser.y"
8115
0
                                                        { (yyval.ast) = (yyvsp[0].ast); }
8116
0
#line 8117 "/src/php-src/Zend/zend_language_parser.c"
8117
0
    break;
8118
8119
0
  case 544:
8120
0
#line 1510 "/src/php-src/Zend/zend_language_parser.y"
8121
0
                                                { (yyval.ast) = (yyvsp[0].ast); }
8122
0
#line 8123 "/src/php-src/Zend/zend_language_parser.c"
8123
0
    break;
8124
8125
0
  case 545:
8126
0
#line 1514 "/src/php-src/Zend/zend_language_parser.y"
8127
0
                                { (yyval.ast) = zend_ast_create(ZEND_AST_CONST, (yyvsp[0].ast)); }
8128
0
#line 8129 "/src/php-src/Zend/zend_language_parser.c"
8129
0
    break;
8130
8131
0
  case 546:
8132
0
#line 1515 "/src/php-src/Zend/zend_language_parser.y"
8133
0
                                { (yyval.ast) = zend_ast_create_ex(ZEND_AST_MAGIC_CONST, T_LINE); }
8134
0
#line 8135 "/src/php-src/Zend/zend_language_parser.c"
8135
0
    break;
8136
8137
0
  case 547:
8138
0
#line 1516 "/src/php-src/Zend/zend_language_parser.y"
8139
0
                                { (yyval.ast) = zend_ast_create_ex(ZEND_AST_MAGIC_CONST, T_FILE); }
8140
0
#line 8141 "/src/php-src/Zend/zend_language_parser.c"
8141
0
    break;
8142
8143
0
  case 548:
8144
0
#line 1517 "/src/php-src/Zend/zend_language_parser.y"
8145
0
                                { (yyval.ast) = zend_ast_create_ex(ZEND_AST_MAGIC_CONST, T_DIR); }
8146
0
#line 8147 "/src/php-src/Zend/zend_language_parser.c"
8147
0
    break;
8148
8149
0
  case 549:
8150
0
#line 1518 "/src/php-src/Zend/zend_language_parser.y"
8151
0
                                { (yyval.ast) = zend_ast_create_ex(ZEND_AST_MAGIC_CONST, T_TRAIT_C); }
8152
0
#line 8153 "/src/php-src/Zend/zend_language_parser.c"
8153
0
    break;
8154
8155
0
  case 550:
8156
0
#line 1519 "/src/php-src/Zend/zend_language_parser.y"
8157
0
                                { (yyval.ast) = zend_ast_create_ex(ZEND_AST_MAGIC_CONST, T_METHOD_C); }
8158
0
#line 8159 "/src/php-src/Zend/zend_language_parser.c"
8159
0
    break;
8160
8161
0
  case 551:
8162
0
#line 1520 "/src/php-src/Zend/zend_language_parser.y"
8163
0
                                { (yyval.ast) = zend_ast_create_ex(ZEND_AST_MAGIC_CONST, T_FUNC_C); }
8164
0
#line 8165 "/src/php-src/Zend/zend_language_parser.c"
8165
0
    break;
8166
8167
0
  case 552:
8168
0
#line 1521 "/src/php-src/Zend/zend_language_parser.y"
8169
0
                                { (yyval.ast) = zend_ast_create_ex(ZEND_AST_MAGIC_CONST, T_PROPERTY_C); }
8170
0
#line 8171 "/src/php-src/Zend/zend_language_parser.c"
8171
0
    break;
8172
8173
0
  case 553:
8174
0
#line 1522 "/src/php-src/Zend/zend_language_parser.y"
8175
0
                                { (yyval.ast) = zend_ast_create_ex(ZEND_AST_MAGIC_CONST, T_NS_C); }
8176
0
#line 8177 "/src/php-src/Zend/zend_language_parser.c"
8177
0
    break;
8178
8179
0
  case 554:
8180
0
#line 1523 "/src/php-src/Zend/zend_language_parser.y"
8181
0
                                { (yyval.ast) = zend_ast_create_ex(ZEND_AST_MAGIC_CONST, T_CLASS_C); }
8182
0
#line 8183 "/src/php-src/Zend/zend_language_parser.c"
8183
0
    break;
8184
8185
0
  case 555:
8186
0
#line 1528 "/src/php-src/Zend/zend_language_parser.y"
8187
0
                        { (yyval.ast) = zend_ast_create_class_const_or_name((yyvsp[-2].ast), (yyvsp[0].ast)); }
8188
0
#line 8189 "/src/php-src/Zend/zend_language_parser.c"
8189
0
    break;
8190
8191
0
  case 556:
8192
0
#line 1530 "/src/php-src/Zend/zend_language_parser.y"
8193
0
                        { (yyval.ast) = zend_ast_create_class_const_or_name((yyvsp[-2].ast), (yyvsp[0].ast)); }
8194
0
#line 8195 "/src/php-src/Zend/zend_language_parser.c"
8195
0
    break;
8196
8197
0
  case 557:
8198
0
#line 1532 "/src/php-src/Zend/zend_language_parser.y"
8199
0
                        { (yyval.ast) = zend_ast_create(ZEND_AST_CLASS_CONST, (yyvsp[-4].ast), (yyvsp[-1].ast)); }
8200
0
#line 8201 "/src/php-src/Zend/zend_language_parser.c"
8201
0
    break;
8202
8203
0
  case 558:
8204
0
#line 1534 "/src/php-src/Zend/zend_language_parser.y"
8205
0
                        { (yyval.ast) = zend_ast_create(ZEND_AST_CLASS_CONST, (yyvsp[-4].ast), (yyvsp[-1].ast)); }
8206
0
#line 8207 "/src/php-src/Zend/zend_language_parser.c"
8207
0
    break;
8208
8209
0
  case 559:
8210
0
#line 1538 "/src/php-src/Zend/zend_language_parser.y"
8211
0
                        { (yyval.ast) = NULL; }
8212
0
#line 8213 "/src/php-src/Zend/zend_language_parser.c"
8213
0
    break;
8214
8215
0
  case 560:
8216
0
#line 1539 "/src/php-src/Zend/zend_language_parser.y"
8217
0
                                { (yyval.ast) = (yyvsp[0].ast); }
8218
0
#line 8219 "/src/php-src/Zend/zend_language_parser.c"
8219
0
    break;
8220
8221
0
  case 561:
8222
0
#line 1543 "/src/php-src/Zend/zend_language_parser.y"
8223
0
                                      { (yyval.ast) = (yyvsp[0].ast); }
8224
0
#line 8225 "/src/php-src/Zend/zend_language_parser.c"
8225
0
    break;
8226
8227
0
  case 562:
8228
0
#line 1547 "/src/php-src/Zend/zend_language_parser.y"
8229
0
                                                        { (yyval.ast) = (yyvsp[0].ast); }
8230
0
#line 8231 "/src/php-src/Zend/zend_language_parser.c"
8231
0
    break;
8232
8233
0
  case 563:
8234
0
#line 1548 "/src/php-src/Zend/zend_language_parser.y"
8235
0
                             {
8236
0
      (yyval.ast) = (yyvsp[-1].ast);
8237
0
      if ((yyval.ast)->kind == ZEND_AST_STATIC_PROP) (yyval.ast)->attr = ZEND_PARENTHESIZED_STATIC_PROP;
8238
0
    }
8239
0
#line 8240 "/src/php-src/Zend/zend_language_parser.c"
8240
0
    break;
8241
8242
0
  case 564:
8243
0
#line 1552 "/src/php-src/Zend/zend_language_parser.y"
8244
0
                                        { (yyval.ast) = (yyvsp[0].ast); }
8245
0
#line 8246 "/src/php-src/Zend/zend_language_parser.c"
8246
0
    break;
8247
8248
0
  case 565:
8249
0
#line 1553 "/src/php-src/Zend/zend_language_parser.y"
8250
0
                                                { (yyval.ast) = (yyvsp[0].ast); }
8251
0
#line 8252 "/src/php-src/Zend/zend_language_parser.c"
8252
0
    break;
8253
8254
0
  case 566:
8255
0
#line 1554 "/src/php-src/Zend/zend_language_parser.y"
8256
0
                                                { (yyval.ast) = (yyvsp[0].ast); }
8257
0
#line 8258 "/src/php-src/Zend/zend_language_parser.c"
8258
0
    break;
8259
8260
0
  case 567:
8261
0
#line 1558 "/src/php-src/Zend/zend_language_parser.y"
8262
0
                                        { (yyval.ast) = (yyvsp[0].ast); }
8263
0
#line 8264 "/src/php-src/Zend/zend_language_parser.c"
8264
0
    break;
8265
8266
0
  case 568:
8267
0
#line 1559 "/src/php-src/Zend/zend_language_parser.y"
8268
0
                                                        { (yyval.ast) = (yyvsp[0].ast); }
8269
0
#line 8270 "/src/php-src/Zend/zend_language_parser.c"
8270
0
    break;
8271
8272
0
  case 569:
8273
0
#line 1563 "/src/php-src/Zend/zend_language_parser.y"
8274
0
                                                { (yyval.ast) = (yyvsp[0].ast); }
8275
0
#line 8276 "/src/php-src/Zend/zend_language_parser.c"
8276
0
    break;
8277
8278
0
  case 570:
8279
0
#line 1564 "/src/php-src/Zend/zend_language_parser.y"
8280
0
                                                { (yyval.ast) = (yyvsp[-1].ast); }
8281
0
#line 8282 "/src/php-src/Zend/zend_language_parser.c"
8282
0
    break;
8283
8284
0
  case 571:
8285
0
#line 1565 "/src/php-src/Zend/zend_language_parser.y"
8286
0
                                        { (yyval.ast) = (yyvsp[0].ast); }
8287
0
#line 8288 "/src/php-src/Zend/zend_language_parser.c"
8288
0
    break;
8289
8290
0
  case 572:
8291
0
#line 1566 "/src/php-src/Zend/zend_language_parser.y"
8292
0
                                                { (yyval.ast) = (yyvsp[0].ast); }
8293
0
#line 8294 "/src/php-src/Zend/zend_language_parser.c"
8294
0
    break;
8295
8296
0
  case 573:
8297
0
#line 1571 "/src/php-src/Zend/zend_language_parser.y"
8298
0
                        { (yyval.ast) = zend_ast_create(ZEND_AST_VAR, (yyvsp[0].ast)); }
8299
0
#line 8300 "/src/php-src/Zend/zend_language_parser.c"
8300
0
    break;
8301
8302
0
  case 574:
8303
0
#line 1573 "/src/php-src/Zend/zend_language_parser.y"
8304
0
                        { (yyval.ast) = zend_ast_create(ZEND_AST_DIM, (yyvsp[-3].ast), (yyvsp[-1].ast)); }
8305
0
#line 8306 "/src/php-src/Zend/zend_language_parser.c"
8306
0
    break;
8307
8308
0
  case 575:
8309
0
#line 1575 "/src/php-src/Zend/zend_language_parser.y"
8310
0
                        { (yyval.ast) = zend_ast_create(ZEND_AST_METHOD_CALL, (yyvsp[-3].ast), (yyvsp[-1].ast), (yyvsp[0].ast)); }
8311
0
#line 8312 "/src/php-src/Zend/zend_language_parser.c"
8312
0
    break;
8313
8314
0
  case 576:
8315
0
#line 1577 "/src/php-src/Zend/zend_language_parser.y"
8316
0
                        { (yyval.ast) = zend_ast_create(ZEND_AST_NULLSAFE_METHOD_CALL, (yyvsp[-3].ast), (yyvsp[-1].ast), (yyvsp[0].ast)); }
8317
0
#line 8318 "/src/php-src/Zend/zend_language_parser.c"
8318
0
    break;
8319
8320
0
  case 577:
8321
0
#line 1578 "/src/php-src/Zend/zend_language_parser.y"
8322
0
                              { (yyval.ast) = (yyvsp[0].ast); }
8323
0
#line 8324 "/src/php-src/Zend/zend_language_parser.c"
8324
0
    break;
8325
8326
0
  case 578:
8327
0
#line 1583 "/src/php-src/Zend/zend_language_parser.y"
8328
0
                        { (yyval.ast) = (yyvsp[0].ast); }
8329
0
#line 8330 "/src/php-src/Zend/zend_language_parser.c"
8330
0
    break;
8331
8332
0
  case 579:
8333
0
#line 1585 "/src/php-src/Zend/zend_language_parser.y"
8334
0
                        { (yyval.ast) = (yyvsp[0].ast); }
8335
0
#line 8336 "/src/php-src/Zend/zend_language_parser.c"
8336
0
    break;
8337
8338
0
  case 580:
8339
0
#line 1587 "/src/php-src/Zend/zend_language_parser.y"
8340
0
                        { (yyval.ast) = zend_ast_create(ZEND_AST_PROP, (yyvsp[-2].ast), (yyvsp[0].ast)); }
8341
0
#line 8342 "/src/php-src/Zend/zend_language_parser.c"
8342
0
    break;
8343
8344
0
  case 581:
8345
0
#line 1589 "/src/php-src/Zend/zend_language_parser.y"
8346
0
                        { (yyval.ast) = zend_ast_create(ZEND_AST_NULLSAFE_PROP, (yyvsp[-2].ast), (yyvsp[0].ast)); }
8347
0
#line 8348 "/src/php-src/Zend/zend_language_parser.c"
8348
0
    break;
8349
8350
0
  case 582:
8351
0
#line 1593 "/src/php-src/Zend/zend_language_parser.y"
8352
0
                                                { (yyval.ast) = (yyvsp[0].ast); }
8353
0
#line 8354 "/src/php-src/Zend/zend_language_parser.c"
8354
0
    break;
8355
8356
0
  case 583:
8357
0
#line 1594 "/src/php-src/Zend/zend_language_parser.y"
8358
0
                                        { (yyval.ast) = (yyvsp[-1].ast); }
8359
0
#line 8360 "/src/php-src/Zend/zend_language_parser.c"
8360
0
    break;
8361
8362
0
  case 584:
8363
0
#line 1595 "/src/php-src/Zend/zend_language_parser.y"
8364
0
                                        { (yyval.ast) = zend_ast_create(ZEND_AST_VAR, (yyvsp[0].ast)); }
8365
0
#line 8366 "/src/php-src/Zend/zend_language_parser.c"
8366
0
    break;
8367
8368
0
  case 585:
8369
0
#line 1600 "/src/php-src/Zend/zend_language_parser.y"
8370
0
                        { (yyval.ast) = zend_ast_create(ZEND_AST_STATIC_PROP, (yyvsp[-2].ast), (yyvsp[0].ast)); }
8371
0
#line 8372 "/src/php-src/Zend/zend_language_parser.c"
8372
0
    break;
8373
8374
0
  case 586:
8375
0
#line 1602 "/src/php-src/Zend/zend_language_parser.y"
8376
0
                        { (yyval.ast) = zend_ast_create(ZEND_AST_STATIC_PROP, (yyvsp[-2].ast), (yyvsp[0].ast)); }
8377
0
#line 8378 "/src/php-src/Zend/zend_language_parser.c"
8378
0
    break;
8379
8380
0
  case 587:
8381
0
#line 1607 "/src/php-src/Zend/zend_language_parser.y"
8382
0
                        { (yyval.ast) = zend_ast_create(ZEND_AST_VAR, (yyvsp[0].ast)); }
8383
0
#line 8384 "/src/php-src/Zend/zend_language_parser.c"
8384
0
    break;
8385
8386
0
  case 588:
8387
0
#line 1609 "/src/php-src/Zend/zend_language_parser.y"
8388
0
                        { (yyval.ast) = zend_ast_create(ZEND_AST_DIM, (yyvsp[-3].ast), (yyvsp[-1].ast)); }
8389
0
#line 8390 "/src/php-src/Zend/zend_language_parser.c"
8390
0
    break;
8391
8392
0
  case 589:
8393
0
#line 1611 "/src/php-src/Zend/zend_language_parser.y"
8394
0
                        { (yyval.ast) = zend_ast_create(ZEND_AST_PROP, (yyvsp[-2].ast), (yyvsp[0].ast)); }
8395
0
#line 8396 "/src/php-src/Zend/zend_language_parser.c"
8396
0
    break;
8397
8398
0
  case 590:
8399
0
#line 1613 "/src/php-src/Zend/zend_language_parser.y"
8400
0
                        { (yyval.ast) = zend_ast_create(ZEND_AST_NULLSAFE_PROP, (yyvsp[-2].ast), (yyvsp[0].ast)); }
8401
0
#line 8402 "/src/php-src/Zend/zend_language_parser.c"
8402
0
    break;
8403
8404
0
  case 591:
8405
0
#line 1615 "/src/php-src/Zend/zend_language_parser.y"
8406
0
                        { (yyval.ast) = zend_ast_create(ZEND_AST_STATIC_PROP, (yyvsp[-2].ast), (yyvsp[0].ast)); }
8407
0
#line 8408 "/src/php-src/Zend/zend_language_parser.c"
8408
0
    break;
8409
8410
0
  case 592:
8411
0
#line 1617 "/src/php-src/Zend/zend_language_parser.y"
8412
0
                        { (yyval.ast) = zend_ast_create(ZEND_AST_STATIC_PROP, (yyvsp[-2].ast), (yyvsp[0].ast)); }
8413
0
#line 8414 "/src/php-src/Zend/zend_language_parser.c"
8414
0
    break;
8415
8416
0
  case 593:
8417
0
#line 1621 "/src/php-src/Zend/zend_language_parser.y"
8418
0
                           { (yyval.ast) = (yyvsp[0].ast); }
8419
0
#line 8420 "/src/php-src/Zend/zend_language_parser.c"
8420
0
    break;
8421
8422
0
  case 594:
8423
0
#line 1622 "/src/php-src/Zend/zend_language_parser.y"
8424
0
                                { (yyval.ast) = (yyvsp[-1].ast); }
8425
0
#line 8426 "/src/php-src/Zend/zend_language_parser.c"
8426
0
    break;
8427
8428
0
  case 595:
8429
0
#line 1623 "/src/php-src/Zend/zend_language_parser.y"
8430
0
                                { (yyval.ast) = zend_ast_create(ZEND_AST_VAR, (yyvsp[0].ast)); }
8431
0
#line 8432 "/src/php-src/Zend/zend_language_parser.c"
8432
0
    break;
8433
8434
0
  case 596:
8435
0
#line 1627 "/src/php-src/Zend/zend_language_parser.y"
8436
0
                         { (yyval.ast) = (yyvsp[0].ast); }
8437
0
#line 8438 "/src/php-src/Zend/zend_language_parser.c"
8438
0
    break;
8439
8440
0
  case 597:
8441
0
#line 1628 "/src/php-src/Zend/zend_language_parser.y"
8442
0
                                { (yyval.ast) = (yyvsp[-1].ast); }
8443
0
#line 8444 "/src/php-src/Zend/zend_language_parser.c"
8444
0
    break;
8445
8446
0
  case 598:
8447
0
#line 1629 "/src/php-src/Zend/zend_language_parser.y"
8448
0
                                { (yyval.ast) = zend_ast_create(ZEND_AST_VAR, (yyvsp[0].ast)); }
8449
0
#line 8450 "/src/php-src/Zend/zend_language_parser.c"
8450
0
    break;
8451
8452
0
  case 599:
8453
0
#line 1634 "/src/php-src/Zend/zend_language_parser.y"
8454
0
                        { /* allow single trailing comma */ (yyval.ast) = zend_ast_list_rtrim((yyvsp[0].ast)); }
8455
0
#line 8456 "/src/php-src/Zend/zend_language_parser.c"
8456
0
    break;
8457
8458
0
  case 600:
8459
0
#line 1638 "/src/php-src/Zend/zend_language_parser.y"
8460
0
                       { (yyval.ast) = NULL; }
8461
0
#line 8462 "/src/php-src/Zend/zend_language_parser.c"
8462
0
    break;
8463
8464
0
  case 601:
8465
0
#line 1639 "/src/php-src/Zend/zend_language_parser.y"
8466
0
                            { (yyval.ast) = (yyvsp[0].ast); }
8467
0
#line 8468 "/src/php-src/Zend/zend_language_parser.c"
8468
0
    break;
8469
8470
0
  case 602:
8471
0
#line 1644 "/src/php-src/Zend/zend_language_parser.y"
8472
0
                        { (yyval.ast) = zend_ast_list_add((yyvsp[-2].ast), (yyvsp[0].ast)); }
8473
0
#line 8474 "/src/php-src/Zend/zend_language_parser.c"
8474
0
    break;
8475
8476
0
  case 603:
8477
0
#line 1646 "/src/php-src/Zend/zend_language_parser.y"
8478
0
                        { (yyval.ast) = zend_ast_create_list(1, ZEND_AST_ARRAY, (yyvsp[0].ast)); }
8479
0
#line 8480 "/src/php-src/Zend/zend_language_parser.c"
8480
0
    break;
8481
8482
0
  case 604:
8483
0
#line 1651 "/src/php-src/Zend/zend_language_parser.y"
8484
0
                        { (yyval.ast) = zend_ast_create(ZEND_AST_ARRAY_ELEM, (yyvsp[0].ast), (yyvsp[-2].ast)); }
8485
0
#line 8486 "/src/php-src/Zend/zend_language_parser.c"
8486
0
    break;
8487
8488
0
  case 605:
8489
0
#line 1653 "/src/php-src/Zend/zend_language_parser.y"
8490
0
                        { (yyval.ast) = zend_ast_create(ZEND_AST_ARRAY_ELEM, (yyvsp[0].ast), NULL); }
8491
0
#line 8492 "/src/php-src/Zend/zend_language_parser.c"
8492
0
    break;
8493
8494
0
  case 606:
8495
0
#line 1655 "/src/php-src/Zend/zend_language_parser.y"
8496
0
                        { (yyval.ast) = zend_ast_create_ex(ZEND_AST_ARRAY_ELEM, 1, (yyvsp[0].ast), (yyvsp[-3].ast)); }
8497
0
#line 8498 "/src/php-src/Zend/zend_language_parser.c"
8498
0
    break;
8499
8500
0
  case 607:
8501
0
#line 1657 "/src/php-src/Zend/zend_language_parser.y"
8502
0
                        { (yyval.ast) = zend_ast_create_ex(ZEND_AST_ARRAY_ELEM, 1, (yyvsp[0].ast), NULL); }
8503
0
#line 8504 "/src/php-src/Zend/zend_language_parser.c"
8504
0
    break;
8505
8506
0
  case 608:
8507
0
#line 1659 "/src/php-src/Zend/zend_language_parser.y"
8508
0
                        { (yyval.ast) = zend_ast_create(ZEND_AST_UNPACK, (yyvsp[0].ast)); }
8509
0
#line 8510 "/src/php-src/Zend/zend_language_parser.c"
8510
0
    break;
8511
8512
0
  case 609:
8513
0
#line 1661 "/src/php-src/Zend/zend_language_parser.y"
8514
0
                        { (yyvsp[-1].ast)->attr = ZEND_ARRAY_SYNTAX_LIST;
8515
0
        (yyval.ast) = zend_ast_create(ZEND_AST_ARRAY_ELEM, (yyvsp[-1].ast), (yyvsp[-5].ast)); }
8516
0
#line 8517 "/src/php-src/Zend/zend_language_parser.c"
8517
0
    break;
8518
8519
0
  case 610:
8520
0
#line 1664 "/src/php-src/Zend/zend_language_parser.y"
8521
0
                        { (yyvsp[-1].ast)->attr = ZEND_ARRAY_SYNTAX_LIST;
8522
0
        (yyval.ast) = zend_ast_create(ZEND_AST_ARRAY_ELEM, (yyvsp[-1].ast), NULL); }
8523
0
#line 8524 "/src/php-src/Zend/zend_language_parser.c"
8524
0
    break;
8525
8526
0
  case 611:
8527
0
#line 1670 "/src/php-src/Zend/zend_language_parser.y"
8528
0
                        { (yyval.ast) = zend_ast_list_add((yyvsp[-1].ast), (yyvsp[0].ast)); }
8529
0
#line 8530 "/src/php-src/Zend/zend_language_parser.c"
8530
0
    break;
8531
8532
0
  case 612:
8533
0
#line 1672 "/src/php-src/Zend/zend_language_parser.y"
8534
0
                        { (yyval.ast) = zend_ast_list_add((yyvsp[-1].ast), (yyvsp[0].ast)); }
8535
0
#line 8536 "/src/php-src/Zend/zend_language_parser.c"
8536
0
    break;
8537
8538
0
  case 613:
8539
0
#line 1674 "/src/php-src/Zend/zend_language_parser.y"
8540
0
                        { (yyval.ast) = zend_ast_create_list(1, ZEND_AST_ENCAPS_LIST, (yyvsp[0].ast)); }
8541
0
#line 8542 "/src/php-src/Zend/zend_language_parser.c"
8542
0
    break;
8543
8544
0
  case 614:
8545
0
#line 1676 "/src/php-src/Zend/zend_language_parser.y"
8546
0
                        { (yyval.ast) = zend_ast_create_list(2, ZEND_AST_ENCAPS_LIST, (yyvsp[-1].ast), (yyvsp[0].ast)); }
8547
0
#line 8548 "/src/php-src/Zend/zend_language_parser.c"
8548
0
    break;
8549
8550
0
  case 615:
8551
0
#line 1681 "/src/php-src/Zend/zend_language_parser.y"
8552
0
                        { (yyval.ast) = zend_ast_create(ZEND_AST_VAR, (yyvsp[0].ast)); }
8553
0
#line 8554 "/src/php-src/Zend/zend_language_parser.c"
8554
0
    break;
8555
8556
0
  case 616:
8557
0
#line 1683 "/src/php-src/Zend/zend_language_parser.y"
8558
0
                        { (yyval.ast) = zend_ast_create(ZEND_AST_DIM,
8559
0
            zend_ast_create(ZEND_AST_VAR, (yyvsp[-3].ast)), (yyvsp[-1].ast)); }
8560
0
#line 8561 "/src/php-src/Zend/zend_language_parser.c"
8561
0
    break;
8562
8563
0
  case 617:
8564
0
#line 1686 "/src/php-src/Zend/zend_language_parser.y"
8565
0
                        { (yyval.ast) = zend_ast_create(ZEND_AST_PROP,
8566
0
            zend_ast_create(ZEND_AST_VAR, (yyvsp[-2].ast)), (yyvsp[0].ast)); }
8567
0
#line 8568 "/src/php-src/Zend/zend_language_parser.c"
8568
0
    break;
8569
8570
0
  case 618:
8571
0
#line 1689 "/src/php-src/Zend/zend_language_parser.y"
8572
0
                        { (yyval.ast) = zend_ast_create(ZEND_AST_NULLSAFE_PROP,
8573
0
            zend_ast_create(ZEND_AST_VAR, (yyvsp[-2].ast)), (yyvsp[0].ast)); }
8574
0
#line 8575 "/src/php-src/Zend/zend_language_parser.c"
8575
0
    break;
8576
8577
0
  case 619:
8578
0
#line 1692 "/src/php-src/Zend/zend_language_parser.y"
8579
0
                        { (yyval.ast) = zend_ast_create_ex(ZEND_AST_VAR, ZEND_ENCAPS_VAR_DOLLAR_CURLY_VAR_VAR, (yyvsp[-1].ast)); }
8580
0
#line 8581 "/src/php-src/Zend/zend_language_parser.c"
8581
0
    break;
8582
8583
0
  case 620:
8584
0
#line 1694 "/src/php-src/Zend/zend_language_parser.y"
8585
0
                        { (yyval.ast) = zend_ast_create_ex(ZEND_AST_VAR, ZEND_ENCAPS_VAR_DOLLAR_CURLY, (yyvsp[-1].ast)); }
8586
0
#line 8587 "/src/php-src/Zend/zend_language_parser.c"
8587
0
    break;
8588
8589
0
  case 621:
8590
0
#line 1696 "/src/php-src/Zend/zend_language_parser.y"
8591
0
                        { (yyval.ast) = zend_ast_create_ex(ZEND_AST_DIM, ZEND_ENCAPS_VAR_DOLLAR_CURLY,
8592
0
            zend_ast_create(ZEND_AST_VAR, (yyvsp[-4].ast)), (yyvsp[-2].ast)); }
8593
0
#line 8594 "/src/php-src/Zend/zend_language_parser.c"
8594
0
    break;
8595
8596
0
  case 622:
8597
0
#line 1698 "/src/php-src/Zend/zend_language_parser.y"
8598
0
                                          { (yyval.ast) = (yyvsp[-1].ast); }
8599
0
#line 8600 "/src/php-src/Zend/zend_language_parser.c"
8600
0
    break;
8601
8602
0
  case 623:
8603
0
#line 1702 "/src/php-src/Zend/zend_language_parser.y"
8604
0
                                                { (yyval.ast) = (yyvsp[0].ast); }
8605
0
#line 8606 "/src/php-src/Zend/zend_language_parser.c"
8606
0
    break;
8607
8608
0
  case 624:
8609
0
#line 1703 "/src/php-src/Zend/zend_language_parser.y"
8610
0
                                        { (yyval.ast) = (yyvsp[0].ast); }
8611
0
#line 8612 "/src/php-src/Zend/zend_language_parser.c"
8612
0
    break;
8613
8614
0
  case 625:
8615
0
#line 1704 "/src/php-src/Zend/zend_language_parser.y"
8616
0
                                        { (yyval.ast) = zend_negate_num_string((yyvsp[0].ast)); }
8617
0
#line 8618 "/src/php-src/Zend/zend_language_parser.c"
8618
0
    break;
8619
8620
0
  case 626:
8621
0
#line 1705 "/src/php-src/Zend/zend_language_parser.y"
8622
0
                                                { (yyval.ast) = zend_ast_create(ZEND_AST_VAR, (yyvsp[0].ast)); }
8623
0
#line 8624 "/src/php-src/Zend/zend_language_parser.c"
8624
0
    break;
8625
8626
0
  case 627:
8627
0
#line 1710 "/src/php-src/Zend/zend_language_parser.y"
8628
0
                                                               { (yyval.ast) = (yyvsp[-2].ast); }
8629
0
#line 8630 "/src/php-src/Zend/zend_language_parser.c"
8630
0
    break;
8631
8632
0
  case 628:
8633
0
#line 1711 "/src/php-src/Zend/zend_language_parser.y"
8634
0
                                     { (yyval.ast) = zend_ast_create(ZEND_AST_EMPTY, (yyvsp[-1].ast)); }
8635
0
#line 8636 "/src/php-src/Zend/zend_language_parser.c"
8636
0
    break;
8637
8638
0
  case 629:
8639
0
#line 1713 "/src/php-src/Zend/zend_language_parser.y"
8640
0
                        { (yyval.ast) = zend_ast_create_ex(ZEND_AST_INCLUDE_OR_EVAL, ZEND_INCLUDE, (yyvsp[0].ast)); }
8641
0
#line 8642 "/src/php-src/Zend/zend_language_parser.c"
8642
0
    break;
8643
8644
0
  case 630:
8645
0
#line 1715 "/src/php-src/Zend/zend_language_parser.y"
8646
0
                        { (yyval.ast) = zend_ast_create_ex(ZEND_AST_INCLUDE_OR_EVAL, ZEND_INCLUDE_ONCE, (yyvsp[0].ast)); }
8647
0
#line 8648 "/src/php-src/Zend/zend_language_parser.c"
8648
0
    break;
8649
8650
0
  case 631:
8651
0
#line 1717 "/src/php-src/Zend/zend_language_parser.y"
8652
0
                        { (yyval.ast) = zend_ast_create_ex(ZEND_AST_INCLUDE_OR_EVAL, ZEND_EVAL, (yyvsp[-1].ast)); }
8653
0
#line 8654 "/src/php-src/Zend/zend_language_parser.c"
8654
0
    break;
8655
8656
0
  case 632:
8657
0
#line 1719 "/src/php-src/Zend/zend_language_parser.y"
8658
0
                        { (yyval.ast) = zend_ast_create_ex(ZEND_AST_INCLUDE_OR_EVAL, ZEND_REQUIRE, (yyvsp[0].ast)); }
8659
0
#line 8660 "/src/php-src/Zend/zend_language_parser.c"
8660
0
    break;
8661
8662
0
  case 633:
8663
0
#line 1721 "/src/php-src/Zend/zend_language_parser.y"
8664
0
                        { (yyval.ast) = zend_ast_create_ex(ZEND_AST_INCLUDE_OR_EVAL, ZEND_REQUIRE_ONCE, (yyvsp[0].ast)); }
8665
0
#line 8666 "/src/php-src/Zend/zend_language_parser.c"
8666
0
    break;
8667
8668
0
  case 634:
8669
0
#line 1725 "/src/php-src/Zend/zend_language_parser.y"
8670
0
                               { (yyval.ast) = (yyvsp[0].ast); }
8671
0
#line 8672 "/src/php-src/Zend/zend_language_parser.c"
8672
0
    break;
8673
8674
0
  case 635:
8675
0
#line 1727 "/src/php-src/Zend/zend_language_parser.y"
8676
0
                        { (yyval.ast) = zend_ast_create(ZEND_AST_AND, (yyvsp[-2].ast), (yyvsp[0].ast)); }
8677
0
#line 8678 "/src/php-src/Zend/zend_language_parser.c"
8678
0
    break;
8679
8680
0
  case 636:
8681
0
#line 1731 "/src/php-src/Zend/zend_language_parser.y"
8682
0
                     { (yyval.ast) = zend_ast_create(ZEND_AST_ISSET, (yyvsp[0].ast)); }
8683
0
#line 8684 "/src/php-src/Zend/zend_language_parser.c"
8684
0
    break;
8685
8686
8687
0
#line 8688 "/src/php-src/Zend/zend_language_parser.c"
8688
8689
0
      default: break;
8690
0
    }
8691
  /* User semantic actions sometimes alter yychar, and that requires
8692
     that yytoken be updated with the new translation.  We take the
8693
     approach of translating immediately before every use of yytoken.
8694
     One alternative is translating here after every semantic action,
8695
     but that translation would be missed if the semantic action invokes
8696
     YYABORT, YYACCEPT, or YYERROR immediately after altering yychar or
8697
     if it invokes YYBACKUP.  In the case of YYABORT or YYACCEPT, an
8698
     incorrect destructor might then be invoked immediately.  In the
8699
     case of YYERROR or YYBACKUP, subsequent parser actions might lead
8700
     to an incorrect destructor call or verbose syntax error message
8701
     before the lookahead is translated.  */
8702
0
  YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
8703
8704
0
  YYPOPSTACK (yylen);
8705
0
  yylen = 0;
8706
0
  YY_STACK_PRINT (yyss, yyssp);
8707
8708
0
  *++yyvsp = yyval;
8709
8710
  /* Now 'shift' the result of the reduction.  Determine what state
8711
     that goes to, based on the state we popped back to and the rule
8712
     number reduced by.  */
8713
0
  {
8714
0
    const int yylhs = yyr1[yyn] - YYNTOKENS;
8715
0
    const int yyi = yypgoto[yylhs] + *yyssp;
8716
0
    yystate = (0 <= yyi && yyi <= YYLAST && yycheck[yyi] == *yyssp
8717
0
               ? yytable[yyi]
8718
0
               : yydefgoto[yylhs]);
8719
0
  }
8720
8721
0
  goto yynewstate;
8722
8723
8724
/*--------------------------------------.
8725
| yyerrlab -- here on detecting error.  |
8726
`--------------------------------------*/
8727
0
yyerrlab:
8728
  /* Make sure we have latest lookahead translation.  See comments at
8729
     user semantic actions for why this is necessary.  */
8730
0
  yytoken = yychar == YYEMPTY ? YYEMPTY : YYTRANSLATE (yychar);
8731
8732
  /* If not already recovering from an error, report this error.  */
8733
0
  if (!yyerrstatus)
8734
0
    {
8735
0
      ++yynerrs;
8736
#if ! YYERROR_VERBOSE
8737
      yyerror (YY_("syntax error"));
8738
#else
8739
0
# define YYSYNTAX_ERROR yysyntax_error (&yymsg_alloc, &yymsg, \
8740
0
                                        yyssp, yytoken)
8741
0
      {
8742
0
        char const *yymsgp = YY_("syntax error");
8743
0
        int yysyntax_error_status;
8744
0
        yysyntax_error_status = YYSYNTAX_ERROR;
8745
0
        if (yysyntax_error_status == 0)
8746
0
          yymsgp = yymsg;
8747
0
        else if (yysyntax_error_status == 1)
8748
0
          {
8749
0
            if (yymsg != yymsgbuf)
8750
0
              YYSTACK_FREE (yymsg);
8751
0
            yymsg = YY_CAST (char *, YYSTACK_ALLOC (YY_CAST (YYSIZE_T, yymsg_alloc)));
8752
0
            if (!yymsg)
8753
0
              {
8754
0
                yymsg = yymsgbuf;
8755
0
                yymsg_alloc = sizeof yymsgbuf;
8756
0
                yysyntax_error_status = 2;
8757
0
              }
8758
0
            else
8759
0
              {
8760
0
                yysyntax_error_status = YYSYNTAX_ERROR;
8761
0
                yymsgp = yymsg;
8762
0
              }
8763
0
          }
8764
0
        yyerror (yymsgp);
8765
0
        if (yysyntax_error_status == 2)
8766
0
          goto yyexhaustedlab;
8767
0
      }
8768
0
# undef YYSYNTAX_ERROR
8769
0
#endif
8770
0
    }
8771
8772
8773
8774
0
  if (yyerrstatus == 3)
8775
0
    {
8776
      /* If just tried and failed to reuse lookahead token after an
8777
         error, discard it.  */
8778
8779
0
      if (yychar <= YYEOF)
8780
0
        {
8781
          /* Return failure if at end of input.  */
8782
0
          if (yychar == YYEOF)
8783
0
            YYABORT;
8784
0
        }
8785
0
      else
8786
0
        {
8787
0
          yydestruct ("Error: discarding",
8788
0
                      yytoken, &yylval);
8789
0
          yychar = YYEMPTY;
8790
0
        }
8791
0
    }
8792
8793
  /* Else will try to reuse lookahead token after shifting the error
8794
     token.  */
8795
0
  goto yyerrlab1;
8796
8797
8798
/*---------------------------------------------------.
8799
| yyerrorlab -- error raised explicitly by YYERROR.  |
8800
`---------------------------------------------------*/
8801
0
yyerrorlab:
8802
  /* Pacify compilers when the user code never invokes YYERROR and the
8803
     label yyerrorlab therefore never appears in user code.  */
8804
0
  if (0)
8805
0
    YYERROR;
8806
8807
  /* Do not reclaim the symbols of the rule whose action triggered
8808
     this YYERROR.  */
8809
0
  YYPOPSTACK (yylen);
8810
0
  yylen = 0;
8811
0
  YY_STACK_PRINT (yyss, yyssp);
8812
0
  yystate = *yyssp;
8813
0
  goto yyerrlab1;
8814
8815
8816
/*-------------------------------------------------------------.
8817
| yyerrlab1 -- common code for both syntax error and YYERROR.  |
8818
`-------------------------------------------------------------*/
8819
0
yyerrlab1:
8820
0
  yyerrstatus = 3;      /* Each real token shifted decrements this.  */
8821
8822
0
  for (;;)
8823
0
    {
8824
0
      yyn = yypact[yystate];
8825
0
      if (!yypact_value_is_default (yyn))
8826
0
        {
8827
0
          yyn += YYTERROR;
8828
0
          if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
8829
0
            {
8830
0
              yyn = yytable[yyn];
8831
0
              if (0 < yyn)
8832
0
                break;
8833
0
            }
8834
0
        }
8835
8836
      /* Pop the current state because it cannot handle the error token.  */
8837
0
      if (yyssp == yyss)
8838
0
        YYABORT;
8839
8840
8841
0
      yydestruct ("Error: popping",
8842
0
                  yystos[yystate], yyvsp);
8843
0
      YYPOPSTACK (1);
8844
0
      yystate = *yyssp;
8845
0
      YY_STACK_PRINT (yyss, yyssp);
8846
0
    }
8847
8848
0
  YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
8849
0
  *++yyvsp = yylval;
8850
0
  YY_IGNORE_MAYBE_UNINITIALIZED_END
8851
8852
8853
  /* Shift the error token.  */
8854
0
  YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp);
8855
8856
0
  yystate = yyn;
8857
0
  goto yynewstate;
8858
8859
8860
/*-------------------------------------.
8861
| yyacceptlab -- YYACCEPT comes here.  |
8862
`-------------------------------------*/
8863
0
yyacceptlab:
8864
0
  yyresult = 0;
8865
0
  goto yyreturn;
8866
8867
8868
/*-----------------------------------.
8869
| yyabortlab -- YYABORT comes here.  |
8870
`-----------------------------------*/
8871
0
yyabortlab:
8872
0
  yyresult = 1;
8873
0
  goto yyreturn;
8874
8875
8876
0
#if !defined yyoverflow || YYERROR_VERBOSE
8877
/*-------------------------------------------------.
8878
| yyexhaustedlab -- memory exhaustion comes here.  |
8879
`-------------------------------------------------*/
8880
0
yyexhaustedlab:
8881
0
  yyerror (YY_("memory exhausted"));
8882
0
  yyresult = 2;
8883
  /* Fall through.  */
8884
0
#endif
8885
8886
8887
/*-----------------------------------------------------.
8888
| yyreturn -- parsing is finished, return the result.  |
8889
`-----------------------------------------------------*/
8890
0
yyreturn:
8891
0
  if (yychar != YYEMPTY)
8892
0
    {
8893
      /* Make sure we have latest lookahead translation.  See comments at
8894
         user semantic actions for why this is necessary.  */
8895
0
      yytoken = YYTRANSLATE (yychar);
8896
0
      yydestruct ("Cleanup: discarding lookahead",
8897
0
                  yytoken, &yylval);
8898
0
    }
8899
  /* Do not reclaim the symbols of the rule whose action triggered
8900
     this YYABORT or YYACCEPT.  */
8901
0
  YYPOPSTACK (yylen);
8902
0
  YY_STACK_PRINT (yyss, yyssp);
8903
0
  while (yyssp != yyss)
8904
0
    {
8905
0
      yydestruct ("Cleanup: popping",
8906
0
                  yystos[+*yyssp], yyvsp);
8907
0
      YYPOPSTACK (1);
8908
0
    }
8909
0
#ifndef yyoverflow
8910
0
  if (yyss != yyssa)
8911
0
    YYSTACK_FREE (yyss);
8912
0
#endif
8913
0
#if YYERROR_VERBOSE
8914
0
  if (yymsg != yymsgbuf)
8915
0
    YYSTACK_FREE (yymsg);
8916
0
#endif
8917
0
  return yyresult;
8918
0
}
8919
#line 1734 "/src/php-src/Zend/zend_language_parser.y"
8920
8921
8922
/* Over-ride Bison formatting routine to give better token descriptions.
8923
   Copy to YYRES the contents of YYSTR for use in yyerror.
8924
   YYSTR is taken from yytname, from the %token declaration.
8925
   If YYRES is null, do not copy; instead, return the length of what
8926
   the result would have been.  */
8927
static YYSIZE_T zend_yytnamerr(char *yyres, const char *yystr)
8928
0
{
8929
0
  const char *toktype = yystr;
8930
0
  size_t toktype_len = strlen(toktype);
8931
8932
  /* CG(parse_error) states:
8933
   * 0 => yyres = NULL, yystr is the unexpected token
8934
   * 1 => yyres = NULL, yystr is one of the expected tokens
8935
   * 2 => yyres != NULL, yystr is the unexpected token
8936
   * 3 => yyres != NULL, yystr is one of the expected tokens
8937
   */
8938
0
  if (yyres && CG(parse_error) < 2) {
8939
0
    CG(parse_error) = 2;
8940
0
  }
8941
8942
0
  if (CG(parse_error) % 2 == 0) {
8943
    /* The unexpected token */
8944
0
    char buffer[120];
8945
0
    const unsigned char *tokcontent, *tokcontent_end;
8946
0
    size_t tokcontent_len;
8947
8948
0
    CG(parse_error)++;
8949
8950
0
    if (LANG_SCNG(yy_text)[0] == 0 &&
8951
0
      LANG_SCNG(yy_leng) == 1 &&
8952
0
      strcmp(toktype, "\"end of file\"") == 0) {
8953
0
      if (yyres) {
8954
0
        yystpcpy(yyres, "end of file");
8955
0
      }
8956
0
      return sizeof("end of file")-1;
8957
0
    }
8958
8959
    /* Prevent the backslash getting doubled in the output (eugh) */
8960
0
    if (strcmp(toktype, "\"'\\\\'\"") == 0) {
8961
0
      if (yyres) {
8962
0
        yystpcpy(yyres, "token \"\\\"");
8963
0
      }
8964
0
      return sizeof("token \"\\\"")-1;
8965
0
    }
8966
8967
    /* We used "amp" as a dummy label to avoid a duplicate token literal warning. */
8968
0
    if (strcmp(toktype, "\"amp\"") == 0) {
8969
0
      if (yyres) {
8970
0
        yystpcpy(yyres, "token \"&\"");
8971
0
      }
8972
0
      return sizeof("token \"&\"")-1;
8973
0
    }
8974
8975
    /* Avoid unreadable """ */
8976
    /* "'" would theoretically be just as bad, but is never currently parsed as a separate token */
8977
0
    if (strcmp(toktype, "'\"'") == 0) {
8978
0
      if (yyres) {
8979
0
        yystpcpy(yyres, "double-quote mark");
8980
0
      }
8981
0
      return sizeof("double-quote mark")-1;
8982
0
    }
8983
8984
    /* Strip off the outer quote marks */
8985
0
    if (toktype_len >= 2 && *toktype == '"') {
8986
0
      toktype++;
8987
0
      toktype_len -= 2;
8988
0
    }
8989
8990
    /* If the token always has one form, the %token line should have a single-quoted name */
8991
    /* The parser rules also include single-character un-named tokens which will be single-quoted here */
8992
    /* We re-format this with double quotes here to ensure everything's consistent */
8993
0
    if (toktype_len > 0 && *toktype == '\'') {
8994
0
      if (yyres) {
8995
0
        snprintf(buffer, sizeof(buffer), "token \"%.*s\"", (int)toktype_len-2, toktype+1);
8996
0
        yystpcpy(yyres, buffer);
8997
0
      }
8998
0
      return toktype_len + sizeof("token ")-1;
8999
0
    }
9000
9001
    /* Fetch the content of the last seen token from global lexer state */
9002
0
    tokcontent = LANG_SCNG(yy_text);
9003
0
    tokcontent_len = LANG_SCNG(yy_leng);
9004
9005
    /* For T_BAD_CHARACTER, the content probably won't be a printable char */
9006
    /* Also, "unexpected invalid character" sounds a bit redundant */
9007
0
    if (tokcontent_len == 1 && strcmp(yystr, "\"invalid character\"") == 0) {
9008
0
      if (yyres) {
9009
0
        snprintf(buffer, sizeof(buffer), "character 0x%02hhX", *tokcontent);
9010
0
        yystpcpy(yyres, buffer);
9011
0
      }
9012
0
      return sizeof("character 0x00")-1;
9013
0
    }
9014
9015
    /* Truncate at line end to avoid messing up log formats */
9016
0
    tokcontent_end = memchr(tokcontent, '\n', tokcontent_len);
9017
0
    if (tokcontent_end != NULL) {
9018
0
      tokcontent_len = (tokcontent_end - tokcontent);
9019
0
    }
9020
9021
    /* Try to be helpful about what kind of string was found, before stripping the quotes */
9022
0
    if (tokcontent_len > 0 && strcmp(yystr, "\"quoted string\"") == 0) {
9023
0
      if (*tokcontent == '"') {
9024
0
        toktype = "double-quoted string";
9025
0
        toktype_len = sizeof("double-quoted string")-1;
9026
0
      }
9027
0
      else if (*tokcontent == '\'') {
9028
0
        toktype = "single-quoted string";
9029
0
        toktype_len = sizeof("single-quoted string")-1;
9030
0
      }
9031
0
    }
9032
9033
    /* For quoted strings, strip off another layer of quotes to avoid putting quotes inside quotes */
9034
0
    if (tokcontent_len > 0 && (*tokcontent == '\'' || *tokcontent=='"'))  {
9035
0
      tokcontent++;
9036
0
      tokcontent_len--;
9037
0
    }
9038
0
    if (tokcontent_len > 0 && (tokcontent[tokcontent_len-1] == '\'' || tokcontent[tokcontent_len-1] == '"'))  {
9039
0
      tokcontent_len--;
9040
0
    }
9041
9042
    /* Truncate to 30 characters and add a ... */
9043
0
    if (tokcontent_len > 30 + sizeof("...")-1) {
9044
0
      if (yyres) {
9045
0
        snprintf(buffer, sizeof(buffer), "%.*s \"%.*s...\"", (int)toktype_len, toktype, 30, tokcontent);
9046
0
        yystpcpy(yyres, buffer);
9047
0
      }
9048
0
      return toktype_len + 30 + sizeof(" \"...\"")-1;
9049
0
    }
9050
9051
0
    if (yyres) {
9052
0
      snprintf(buffer, sizeof(buffer), "%.*s \"%.*s\"", (int)toktype_len, toktype, (int)tokcontent_len, tokcontent);
9053
0
      yystpcpy(yyres, buffer);
9054
0
    }
9055
0
    return toktype_len + tokcontent_len + sizeof(" \"\"")-1;
9056
0
  }
9057
9058
  /* One of the expected tokens */
9059
9060
  /* Prevent the backslash getting doubled in the output (eugh) */
9061
0
  if (strcmp(toktype, "\"'\\\\'\"") == 0) {
9062
0
    if (yyres) {
9063
0
      yystpcpy(yyres, "\"\\\"");
9064
0
    }
9065
0
    return sizeof("\"\\\"")-1;
9066
0
  }
9067
9068
  /* We used "amp" as a dummy label to avoid a duplicate token literal warning. */
9069
0
  if (strcmp(toktype, "\"amp\"") == 0) {
9070
0
    if (yyres) {
9071
0
      yystpcpy(yyres, "token \"&\"");
9072
0
    }
9073
0
    return sizeof("token \"&\"")-1;
9074
0
  }
9075
9076
  /* Strip off the outer quote marks */
9077
0
  if (toktype_len >= 2 && *toktype == '"') {
9078
0
    toktype++;
9079
0
    toktype_len -= 2;
9080
0
  }
9081
9082
0
  if (yyres) {
9083
0
    YYSIZE_T yyn = 0;
9084
9085
0
    for (; yyn < toktype_len; ++yyn) {
9086
      /* Replace single quotes with double for consistency */
9087
0
      if (toktype[yyn] == '\'') {
9088
0
        yyres[yyn] = '"';
9089
0
      }
9090
0
      else {
9091
0
        yyres[yyn] = toktype[yyn];
9092
0
      }
9093
0
    }
9094
0
    yyres[toktype_len] = '\0';
9095
0
  }
9096
9097
0
  return toktype_len;
9098
0
}