/* original parser id follows */
/* yysccsid[] = "@(#)yaccpar	1.9 (Berkeley) 02/21/93" */
/* (use YYMAJOR/YYMINOR for ifdefs dependent on parser version) */

#define YYBYACC 1
#define YYMAJOR 2
#define YYMINOR 0
#define YYPATCH 20241231

#define YYEMPTY        (-1)
#define yyclearin      (yychar = YYEMPTY)
#define yyerrok        (yyerrflag = 0)
#define YYRECOVERING() (yyerrflag != 0)
#define YYENOMEM       (-2)
#define YYEOF          0
#undef YYBTYACC
#define YYBTYACC 0
#define YYDEBUGSTR YYPREFIX "debug"
#define YYPREFIX "yy"

#define YYPURE 0

#line 23 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
/*

 */

#define DONTDECLARE_MALLOC

#include "sysdep.h"
#include "libiberty.h"
#include "bfd.h"
#include "bfdlink.h"
#include "ctf-api.h"
#include "ld.h"
#include "ldexp.h"
#include "ldver.h"
#include "ldlang.h"
#include "ldfile.h"
#include "ldemul.h"
#include "ldmisc.h"
#include "ldmain.h"
#include "mri.h"
#include "ldctor.h"
#include "ldlex.h"

#ifndef YYDEBUG
#define YYDEBUG 1
#endif

static enum section_type sectype;
static etree_type *sectype_value;
static lang_memory_region_type *region;

static bool ldgram_had_keep = false;
static char *ldgram_vers_current_lang = NULL;

#define ERROR_NAME_MAX 20
static char *error_names[ERROR_NAME_MAX];
static int error_index;
#define PUSH_ERROR(x) if (error_index < ERROR_NAME_MAX) error_names[error_index] = x; error_index++;
#define POP_ERROR()   error_index--;

static void yyerror (const char *);
#ifdef YYSTYPE
#undef  YYSTYPE_IS_DECLARED
#define YYSTYPE_IS_DECLARED 1
#endif
#ifndef YYSTYPE_IS_DECLARED
#define YYSTYPE_IS_DECLARED 1
#line 65 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
typedef union YYSTYPE {
  bfd_vma integer;
  struct big_int
    {
      bfd_vma integer;
      char *str;
    } bigint;
  fill_type *fill;
  char *name;
  const char *cname;
  struct wildcard_spec wildcard;
  struct wildcard_list *wildcard_list;
  struct name_list *name_list;
  struct flag_info_list *flag_info_list;
  struct flag_info *flag_info;
  int token;
  union etree_union *etree;
  struct phdr_info
    {
      bool filehdr;
      bool phdrs;
      union etree_union *at;
      union etree_union *flags;
    } phdr;
  struct lang_nocrossref *nocrossref;
  struct lang_output_section_phdr_list *section_phdr;
  struct bfd_elf_version_deps *deflist;
  struct bfd_elf_version_expr *versyms;
  struct bfd_elf_version_tree *versnode;
} YYSTYPE;
#endif /* !YYSTYPE_IS_DECLARED */
#line 104 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"

/* compatibility with bison */
#ifdef YYPARSE_PARAM
/* compatibility with FreeBSD */
# ifdef YYPARSE_PARAM_TYPE
#  define YYPARSE_DECL() yyparse(YYPARSE_PARAM_TYPE YYPARSE_PARAM)
# else
#  define YYPARSE_DECL() yyparse(void *YYPARSE_PARAM)
# endif
#else
# define YYPARSE_DECL() yyparse(void)
#endif

/* Parameters sent to lex. */
#ifdef YYLEX_PARAM
# define YYLEX_DECL() yylex(void *YYLEX_PARAM)
# define YYLEX yylex(YYLEX_PARAM)
#else
# define YYLEX_DECL() yylex(void)
# define YYLEX yylex()
#endif

#if !(defined(yylex) || defined(YYSTATE))
int YYLEX_DECL();
#endif

/* Parameters sent to yyerror. */
#ifndef YYERROR_DECL
#define YYERROR_DECL() yyerror(const char *s)
#endif
#ifndef YYERROR_CALL
#define YYERROR_CALL(msg) yyerror(msg)
#endif

extern int YYPARSE_DECL();

#define INT 257
#define NAME 258
#define LNAME 259
#define PLUSEQ 260
#define MINUSEQ 261
#define MULTEQ 262
#define DIVEQ 263
#define LSHIFTEQ 264
#define RSHIFTEQ 265
#define ANDEQ 266
#define OREQ 267
#define XOREQ 268
#define OROR 269
#define ANDAND 270
#define EQ 271
#define NE 272
#define LE 273
#define GE 274
#define LSHIFT 275
#define RSHIFT 276
#define UNARY 277
#define END 278
#define ALIGN_K 279
#define BLOCK 280
#define BIND 281
#define QUAD 282
#define SQUAD 283
#define LONG 284
#define SHORT 285
#define BYTE 286
#define ASCIZ 287
#define SECTIONS 288
#define PHDRS 289
#define INSERT_K 290
#define AFTER 291
#define BEFORE 292
#define LINKER_VERSION 293
#define DATA_SEGMENT_ALIGN 294
#define DATA_SEGMENT_RELRO_END 295
#define DATA_SEGMENT_END 296
#define SORT_BY_NAME 297
#define SORT_BY_ALIGNMENT 298
#define SORT_NONE 299
#define SORT_BY_INIT_PRIORITY 300
#define REVERSE 301
#define SIZEOF_HEADERS 302
#define OUTPUT_FORMAT 303
#define FORCE_COMMON_ALLOCATION 304
#define OUTPUT_ARCH 305
#define INHIBIT_COMMON_ALLOCATION 306
#define FORCE_GROUP_ALLOCATION 307
#define SEGMENT_START 308
#define INCLUDE 309
#define MEMORY 310
#define REGION_ALIAS 311
#define LD_FEATURE 312
#define NOLOAD 313
#define DSECT 314
#define COPY 315
#define INFO 316
#define OVERLAY 317
#define READONLY 318
#define TYPE 319
#define DEFINED 320
#define TARGET_K 321
#define SEARCH_DIR 322
#define MAP 323
#define ENTRY 324
#define NEXT 325
#define SIZEOF 326
#define ALIGNOF 327
#define ADDR 328
#define LOADADDR 329
#define MAX_K 330
#define MIN_K 331
#define STARTUP 332
#define HLL 333
#define SYSLIB 334
#define FLOAT 335
#define NOFLOAT 336
#define NOCROSSREFS 337
#define NOCROSSREFS_TO 338
#define ORIGIN 339
#define FILL 340
#define LENGTH 341
#define CREATE_OBJECT_SYMBOLS 342
#define INPUT 343
#define GROUP 344
#define OUTPUT 345
#define CONSTRUCTORS 346
#define ALIGNMOD 347
#define AT 348
#define SUBALIGN 349
#define HIDDEN 350
#define PROVIDE 351
#define PROVIDE_HIDDEN 352
#define AS_NEEDED 353
#define CHIP 354
#define LIST 355
#define SECT 356
#define ABSOLUTE 357
#define LOAD 358
#define NEWLINE 359
#define ENDWORD 360
#define ORDER 361
#define NAMEWORD 362
#define ASSERT_K 363
#define LOG2CEIL 364
#define FORMAT 365
#define PUBLIC 366
#define DEFSYMEND 367
#define BASE 368
#define ALIAS 369
#define TRUNCATE 370
#define REL 371
#define INPUT_SCRIPT 372
#define INPUT_MRI_SCRIPT 373
#define INPUT_DEFSYM 374
#define CASE 375
#define EXTERN 376
#define START 377
#define VERS_TAG 378
#define VERS_IDENTIFIER 379
#define GLOBAL 380
#define LOCAL 381
#define VERSIONK 382
#define INPUT_VERSION_SCRIPT 383
#define INPUT_SECTION_ORDERING_SCRIPT 384
#define KEEP 385
#define ONLY_IF_RO 386
#define ONLY_IF_RW 387
#define SPECIAL 388
#define INPUT_SECTION_FLAGS 389
#define ALIGN_WITH_INPUT 390
#define EXCLUDE_FILE 391
#define CONSTANT 392
#define INPUT_DYNAMIC_LIST 393
#define YYERRCODE 256
typedef int YYINT;
static const YYINT yylhs[] = {                           -1,
    0,    0,    0,    0,    0,    0,   35,   46,   44,   48,
   40,   47,   47,   49,   49,   49,   49,   49,   49,   49,
   49,   49,   49,   49,   49,   49,   49,   49,   49,   49,
   49,   49,   49,   49,   49,   49,   49,   49,   49,   54,
   49,   49,   49,   50,   50,   50,   52,   52,   51,   51,
   19,   19,   19,   53,   53,   53,   56,   39,   55,   55,
   57,   57,   57,   57,   57,   57,   57,   57,   57,   57,
   57,   57,   57,   57,   57,   57,   57,   57,   57,   57,
   68,   57,   57,   69,   57,   57,   57,   70,   57,   57,
   57,   57,   57,   72,   67,   71,   71,   71,   71,   71,
   71,   73,   71,   74,   71,   75,   71,   59,   76,   76,
   76,   65,   65,   79,   65,   20,   23,   23,   24,   24,
   22,   22,   22,   22,   21,   21,   21,   21,   21,   21,
   21,   21,   21,   21,   21,   14,   14,   15,   12,   12,
   13,   13,   81,   81,   81,   81,   81,   81,   82,   83,
   82,   84,   84,   84,   84,   84,   84,   84,   84,   84,
   84,   85,   84,   87,   84,   88,   88,   86,   86,   25,
   25,   25,   25,   25,   11,   10,   10,   30,   30,   30,
   30,   30,   30,   30,   30,   30,   78,   78,   45,   45,
   45,   45,   45,   80,   80,   58,   89,   89,   90,   90,
   92,   91,   95,   91,   93,   94,   32,   32,   96,   96,
   97,   97,   61,   62,   62,   98,   98,   63,   99,   99,
   64,   64,   27,   27,   27,  100,   18,  101,    3,    1,
    1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
    1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
    1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
    1,    1,    1,    1,    1,    1,    1,    1,  102,  103,
    1,    1,    1,    1,    1,    1,    1,    1,    1,   17,
   17,    4,    4,    9,    9,   34,   34,    8,    8,   33,
   33,   33,   33,  104,  105,  106,  107,   77,  108,  109,
  111,  112,   77,  113,  114,   77,  115,   77,  116,  116,
  116,  116,  116,  116,  116,  116,   31,   31,   31,    2,
    2,    2,    2,    7,    7,   29,   29,   16,   16,   28,
   28,  110,  117,  118,  119,  110,   60,  120,  120,  122,
  123,  121,    5,   26,   26,   26,    6,    6,  125,   43,
  124,  124,  126,  127,  129,   41,  130,   66,  128,  128,
  131,  131,  131,   38,   38,   37,   37,   37,   37,   37,
   36,   36,   36,   36,  132,   36,  134,   36,   36,   36,
   36,   36,   36,   36,  133,  133,  136,   42,  135,  135,
  135,  138,  139,  137,
};
static const YYINT yylen[] = {                            2,
    2,    2,    2,    2,    2,    2,    1,    0,    2,    0,
    2,    3,    0,    2,    4,    1,    1,    2,    1,    4,
    4,    3,    2,    4,    3,    4,    4,    4,    4,    4,
    2,    2,    2,    4,    4,    2,    2,    2,    2,    0,
    5,    2,    0,    3,    2,    0,    1,    3,    1,    3,
    0,    1,    3,    1,    2,    3,    0,    2,    2,    0,
    1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
    4,    4,    4,    4,    8,    4,    1,    1,    1,    4,
    0,    5,    4,    0,    5,    4,    4,    0,    5,    3,
    3,    6,    4,    0,    2,    1,    3,    2,    1,    3,
    2,    0,    5,    0,    7,    0,    6,    4,    2,    2,
    0,    4,    2,    0,    7,    1,    1,    5,    1,    4,
    1,    4,    4,    7,    1,    4,    4,    4,    7,    7,
    7,    7,    4,    7,    7,    1,    3,    4,    2,    1,
    3,    1,    1,    2,    3,    4,    4,    5,    1,    0,
    5,    1,    2,    1,    1,    4,    1,    4,    2,    4,
    1,    0,    8,    0,    5,    2,    1,    0,    1,    1,
    1,    1,    1,    1,    1,    2,    0,    1,    1,    1,
    1,    1,    1,    1,    1,    1,    1,    1,    3,    3,
    6,    6,    6,    1,    0,    4,    1,    0,    3,    1,
    0,    7,    0,    5,    3,    3,    0,    3,    1,    2,
    1,    2,    4,    4,    3,    3,    1,    4,    3,    0,
    1,    1,    0,    2,    3,    0,    4,    0,    2,    2,
    3,    4,    2,    2,    2,    3,    3,    3,    3,    3,
    3,    3,    3,    3,    3,    3,    3,    3,    3,    3,
    3,    5,    3,    3,    4,    1,    1,    2,    2,    2,
    2,    4,    4,    4,    6,    6,    6,    4,    0,    0,
    8,    4,    1,    6,    6,    6,    2,    2,    4,    3,
    0,    4,    0,    4,    0,    1,    0,    4,    0,    1,
    1,    1,    0,    0,    0,    0,    0,   19,    0,    0,
    0,    0,   17,    0,    0,    7,    0,    5,    1,    1,
    1,    1,    1,    6,    1,    3,    3,    0,    2,    3,
    2,    6,   10,    2,    1,    0,    1,    2,    0,    0,
    3,    0,    0,    0,    0,   11,    4,    0,    2,    0,
    0,    6,    1,    0,    3,    5,    0,    3,    0,    2,
    1,    2,    4,    2,    0,    2,    0,    5,    1,    2,
    4,    5,    6,    1,    2,    0,    2,    4,    4,    8,
    1,    1,    3,    3,    0,    9,    0,    7,    1,    3,
    1,    3,    1,    3,    0,    1,    0,    2,    2,    2,
    0,    0,    0,    8,
};
static const YYINT yydefred[] = {                         0,
   57,   10,    8,  355,  387,  349,    0,    1,   60,    2,
   13,    6,    0,    3,    0,    4,  391,    5,    0,    0,
    0,    0,    0,    0,    0,    9,    0,    0,    0,  359,
    0,    0,    0,  351,    0,    0,    0,    0,   77,    0,
   79,   78,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,  221,  222,    0,    0,    0,   81,    0,
  114,    0,   70,    0,   59,   61,   62,   63,   64,   65,
   66,   67,   68,   69,    0,   16,    0,    0,    0,    0,
   17,    0,    0,    0,   19,   46,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,  178,  179,  180,  181,
  228,  182,  183,  184,  185,  186,  228,    0,    0,    0,
  372,    0,  371,    0,    0,    0,    0,    0,  360,    0,
  390,  389,  379,  381,    0,    0,  352,  111,  338,    0,
    0,    0,    0,    7,   84,    0,    0,    0,    0,    0,
    0,    0,    0,    0,  220,    0,    0,   94,    0,    0,
    0,   88,  188,  187,  113,    0,    0,   40,    0,  256,
  273,    0,    0,    0,    0,    0,    0,    0,    0,  257,
  269,    0,    0,  226,  226,  226,  226,    0,    0,  226,
  226,    0,    0,    0,    0,    0,    0,    0,    0,   49,
    0,   47,    0,    0,   33,   23,    0,    0,    0,   37,
   52,    0,   54,    0,   42,   12,  189,    0,  190,    0,
    0,    0,    0,    0,    0,    0,    0,    0,  392,    0,
    0,    0,    0,   90,   91,    0,    0,   60,  201,    0,
    0,    0,  200,    0,    0,    0,    0,    0,    0,    0,
  215,  217,    0,    0,    0,    0,    0,    0,    0,   94,
    0,    0,    0,    0,    0,    0,   13,    0,    0,  234,
  230,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  259,    0,  258,  260,  261,    0,    0,  277,  278,    0,
    0,    0,    0,  233,  235,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
   45,    0,    0,    0,    0,    0,    0,   55,    0,    0,
  228,  228,  228,  377,    0,    0,  374,    0,  373,  380,
  382,  361,    0,    0,  353,    0,  108,    0,  299,  304,
  110,  109,  340,  337,  339,    0,   74,   76,    0,    0,
  203,  196,  194,    0,    0,   93,   71,   72,   83,  112,
  213,  214,    0,  218,    0,    0,  224,   86,   87,   80,
   96,   99,    0,    0,    0,   73,    0,    0,    0,    0,
    0,    0,    0,    0,  231,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,  236,  237,  238,    0,
    0,    0,   50,   48,   44,    0,    0,   35,   34,   53,
   56,    0,    0,    0,    0,    0,    0,    0,  364,  362,
    0,    0,    0,  307,    0,    0,    0,    0,   85,    0,
    0,    0,  199,    0,  216,  219,  225,  102,   98,  101,
    0,    0,   82,    0,   89,  358,   41,    0,  264,  272,
    0,    0,  268,  270,  255,  232,    0,    0,    0,  263,
    0,  279,  262,    0,  191,  192,  193,    0,    0,  375,
  365,  363,    0,  170,  171,  172,  173,  174,    0,  161,
    0,    0,    0,    0,    0,  154,  155,  162,    0,    0,
    0,  152,    0,    0,  117,    0,  119,  121,    0,    0,
  149,  157,  167,    0,    0,    0,    0,    0,    0,    0,
  111,  325,    0,    0,  305,    0,    0,    0,  211,    0,
    0,  209,    0,    0,   92,    0,  106,   97,  100,    0,
    0,    0,    0,    0,    0,  227,    0,    0,    0,    0,
    0,    0,    0,    0,  159,    0,    0,    0,  164,  228,
    0,  150,    0,    0,  116,    0,    0,    0,    0,    0,
    0,  142,  125,    0,    0,    0,    0,    0,  228,  153,
  393,  166,  309,  310,  311,  312,  313,    0,    0,  319,
    0,    0,    0,    0,    0,    0,  321,    0,  324,  327,
    0,    0,    0,    0,  341,    0,  212,  208,  210,    0,
    0,  204,    0,    0,  104,  115,  265,  266,  267,    0,
  274,  275,  276,  378,    0,    0,    0,    0,    0,    0,
    0,    0,    0,  175,    0,    0,    0,  136,    0,    0,
  140,    0,    0,    0,    0,    0,  145,    0,    0,    0,
    0,    0,    0,    0,    0,    0,  317,    0,  320,    0,
    0,    0,  308,    0,  111,    0,    0,    0,    0,   75,
  228,    0,  103,    0,    0,    0,    0,    0,    0,  156,
  122,  123,    0,  120,    0,  160,    0,    0,    0,    0,
  138,    0,  139,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,  141,  146,    0,  147,  158,  394,    0,
    0,    0,    0,    0,  286,    0,    0,  300,    0,    0,
  345,    0,  342,  205,    0,  202,  107,    0,  271,  376,
    0,  165,    0,  151,  137,  118,    0,    0,  126,    0,
    0,  127,  128,  133,    0,    0,  148,    0,    0,    0,
  282,    0,    0,    0,    0,  306,  348,    0,  228,  105,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  322,  284,  290,  291,  292,  295,    0,  301,  346,  206,
  124,    0,    0,    0,    0,    0,    0,    0,  314,    0,
    0,  288,  332,  163,  130,  129,  131,  132,  134,  135,
    0,    0,    0,    0,    0,  333,    0,  323,  296,    0,
    0,    0,    0,    0,  328,    0,  330,    0,    0,    0,
    0,  330,  334,  280,  228,    0,  302,    0,  330,  176,
  331,    0,  297,    0,  303,    0,  335,  298,    0,  336,
};
#if defined(YYDESTRUCT_CALL) || defined(YYSTYPE_TOSTRING)
static const YYINT yystos[] = {                           0,
  372,  373,  374,  383,  384,  393,  395,  434,  451,  435,
  443,  439,  441,  436,  524,  437,  531,  438,  520,  450,
  442,  258,  350,  351,  352,  440,  123,  378,  523,  526,
  530,  123,  519,  521,  288,  289,  290,  303,  304,  305,
  306,  307,  309,  310,  311,  312,  321,  322,  323,  324,
  332,  333,  334,  335,  336,  337,  338,  343,  344,  345,
  363,  376,   59,  440,  452,  453,  454,  455,  456,  457,
  458,  459,  460,  461,  525,  258,  279,  309,  347,  354,
  355,  356,  357,  358,  360,  361,  362,  365,  366,  368,
  369,  370,  375,  376,  377,  444,  260,  261,  262,  263,
   61,  264,  265,  266,  267,  268,  425,   40,   40,   40,
  258,  376,  379,  380,  381,  431,  432,  123,  526,  258,
  460,  532,  380,  381,  431,  522,  521,  123,  123,  291,
  292,   40,   40,  258,  430,  123,   40,   40,   40,   40,
   40,   40,   40,   40,   40,   40,   40,   40,  463,   40,
  474,   40,   44,   59,  473,  382,  258,  430,  258,  257,
  258,   43,   45,   40,  279,  280,  294,  295,  296,  302,
  308,  320,  325,  326,  327,  328,  329,  330,  331,  339,
  341,  357,  363,  364,  392,   33,  126,  396,  258,  258,
  446,  258,  447,  445,  258,  258,  258,  396,  258,  257,
  258,  414,  258,  448,  258,  359,  398,  496,  398,  258,
  258,  258,  258,   58,   58,   59,  125,  432,   58,   59,
  125,  471,  515,  258,  258,  258,  258,  464,  258,  309,
  484,  485,  486,  258,  258,  258,  430,  430,  258,  430,
   41,  430,  493,  494,  258,  422,  422,  462,  467,   40,
  430,   40,  465,  123,   61,   44,  449,   61,   44,  396,
  396,  396,   40,   40,   40,   40,   40,  497,   40,   40,
  413,  495,  413,  413,  413,   40,   40,  413,  413,   40,
   40,   40,   40,  396,  396,   63,  269,  270,  124,   94,
   38,  271,  272,   60,   62,  273,  274,  275,  276,   43,
   45,   42,   47,   37,   44,   61,   44,  396,   44,   44,
  258,   44,   61,   44,  396,   44,   44,  258,   44,  396,
   61,   61,   61,  123,  431,  431,  258,  376,  379,  380,
  381,   59,  125,  533,   59,  258,  125,  309,  317,  344,
  460,  472,  258,  125,  516,   44,   41,   41,  450,  487,
  430,  125,   44,  475,   44,   41,   41,   41,   41,   41,
   41,   41,  475,   41,  475,   44,  422,   41,   41,   41,
  258,  259,  353,  466,  462,   41,  396,  448,  523,  396,
  396,  442,  396,  396,   41,  396,  396,  396,  396,  396,
   40,  258,  396,   40,  396,  396,  396,  396,  396,  258,
  396,  396,  396,  396,  396,  396,  396,  396,  396,  396,
  396,  396,  396,  396,  396,  396,  396,  396,  396,  396,
  396,  396,  258,  258,  258,  396,  396,  257,  258,  258,
  258,  398,  398,  398,  529,   59,   59,  258,  378,   59,
  433,  123,  499,  430,  503,  508,  517,  258,  278,   40,
  427,  490,  486,  258,  430,  430,  422,   40,  258,  259,
  353,   44,   41,   44,   41,  125,  278,   44,   41,   41,
   44,   44,   41,  258,   41,   41,  258,   44,   44,   41,
   44,   41,   41,   58,   41,   41,   41,  431,  381,  123,
  378,   59,  258,  282,  283,  284,  285,  286,  287,  293,
  297,  299,  301,  309,  340,  342,  346,  363,  385,  389,
  391,   59,   91,  410,  415,  417,  418,  419,  420,  440,
  476,  477,  479,  481,  483,   40,  281,  396,  397,  426,
  510,   58,  396,  402,  397,  396,  400,   44,  258,   33,
  491,  492,   58,  484,   41,  468,   40,  258,  259,  353,
  258,  396,  396,  396,  498,   41,  396,  396,  258,  396,
   59,  528,   58,  527,  258,   40,   40,   40,  430,   40,
  480,   40,   40,   40,  258,  297,  298,  299,  300,  301,
  408,  416,  419,  258,  297,   91,  417,   40,   40,  473,
  125,  479,  313,  314,  315,  316,  317,  318,  319,   41,
  511,   40,   40,  426,  348,  399,   58,  471,   58,  337,
  424,  509,  258,  348,  421,  258,  258,   41,  492,  339,
  488,  278,  466,  470,   40,   41,   41,   41,   41,   44,
   41,   41,   41,  125,  431,  431,  301,  346,  419,  419,
  297,  418,  482,  398,  406,   40,  478,  258,  409,  407,
  415,   40,   40,   40,   40,   40,   93,  475,   40,  408,
   40,  408,  398,  534,   40,   61,   41,  396,   58,   40,
  279,  404,  278,  399,  123,   40,  401,   40,  518,   41,
   61,  475,   41,  466,  469,  396,   59,  528,   40,   41,
   41,   41,   40,   41,  481,   41,  396,  258,  476,   38,
   41,   41,  415,  297,  298,  419,  297,  298,  419,  419,
  419,  297,  300,  416,   93,  408,   41,   41,  475,  319,
  396,   41,  396,   40,  390,  429,  349,  403,  471,  396,
  421,  396,   59,  398,  341,  489,   41,  466,   41,  125,
  418,  278,   44,   41,  258,  415,   40,   40,   41,   40,
   40,   41,   41,   41,   40,   40,   41,   61,  280,  426,
   41,  396,  403,   40,  504,  125,   41,   41,   61,   41,
   41,  258,  419,  419,  419,  419,  418,  418,  396,   40,
   58,   41,  386,  387,  388,  428,  396,  123,  421,  398,
   41,   41,   41,   41,   41,   41,   41,   41,   41,  396,
  500,   41,  506,  473,   41,   41,   41,   41,   41,   41,
   41,  123,  505,  426,  481,  258,  125,   58,  125,  512,
   62,  411,  501,  123,  258,  348,  412,  411,  481,   62,
  423,  412,  125,  258,   61,   58,  405,  423,  513,  406,
  258,  507,  405,  423,  475,  502,  405,  475,  514,  475,
};
#endif /* YYDESTRUCT_CALL || YYSTYPE_TOSTRING */
static const YYINT yydgoto[] = {                          7,
  262,  529,  644,  606,  537,  677,  534,  728,  672,  837,
  645,  650,  581,  649,  514,  822,  827,  271,  202,  515,
  582,  516,  517,  518,  519,  615,  246,  831,  611,  107,
  530,  451,  786,  726,  135,  116,  117,  441,    8,   10,
   14,   16,   18,   12,   64,   13,   21,   11,   96,  194,
  191,  193,  204,  257,   20,    9,   65,   66,   67,   68,
   69,   70,   71,   72,  341,   74,  248,  149,  228,  253,
  374,  249,  546,  685,  624,  222,  342,  155,  151,  658,
  521,  522,  647,  523,  571,  524,  643,  525,  231,  232,
  233,  350,  621,  736,  452,  541,  542,  243,  244,  272,
  208,  268,  555,  443,  801,  823,  846,  445,  765,  813,
  803,  842,  446,  612,  531,  601,  820,  839,  849,  223,
  345,  447,  679,   33,   19,   34,  126,   29,   15,   75,
   30,  564,  562,  435,   31,   17,  122,  334,  664,
};
static const YYINT yysindex[] = {                       221,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0, -218,    0,  -77,    0,    0,    0,  -28, 2312,
 3609,  983,   57,   86,   95,    0,  129,   37,  -77,    0,
  483,  248,  -28,    0,   59,   72, -205,  103,    0,  159,
    0,    0, -106,  110,  196,  273,  275,  280,  288,  294,
  302,  316,  321,    0,    0,  339,  348,  350,    0,  355,
    0,  362,    0,   46,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0, -224,    0,  -89, -106,   66, 2036,
    0,  151,  166,  170,    0,    0,  180,  182,  192, 2036,
  197,  202,  207,  208,  213,  116,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,  219,  226,  227,
    0,  228,    0,  431,  435,  436,  371,  129,    0,  387,
    0,    0,    0,    0,  440,  378,    0,    0,    0,  246,
  257,  258,  260,    0,    0, -200,  266,  269,  278, -106,
 -106,  282, -106,   21,    0,  283,  283,    0,  503, -106,
  506,    0,    0,    0,    0,  425,   75,    0,   77,    0,
    0, 2036, 2036, 2036,  509,  512,  518,  521,  522,    0,
    0,  524,  525,    0,    0,    0,    0,  529,  530,    0,
    0,  531,  532,  535,  540, 2036, 2036, 2078, 1595,    0,
  541,    0,  542,    7,    0,    0, 1704, 3792,  544,    0,
    0,  546,    0,   29,    0,    0,    0, 2036,    0,  537,
  545,  547,  469,  248,  248,  284,  543,  471,    0,  284,
  556,  691,  -66,    0,    0,   71,  560,    0,    0, -106,
  492,  579,    0,  581,  585,  590,  599,  601,  615,  632,
    0,    0,   87,   96,   35,  640,  641,  642,  139,    0,
  643, 2036,  208,  -77, 2036, 2036,    0, 2036, 2036,    0,
    0, 2449, 2036, 2036, 2036, 2036, 2036,  646,  430, 2036,
    0,  659,    0,    0,    0, 2036, 2036,    0,    0, 2036,
 2036, 2036,  450,    0,    0, 2036, 2036, 2036, 2036, 2036,
 2036, 2036, 2036, 2036, 2036, 2036, 2036, 2036, 2036, 2036,
 2036, 2036, 2036, 2036, 2036, 2036, 2036, 3792,  451,  452,
    0,  459, 2036, 2036, 3792,  161,  460,    0,  461, 3792,
    0,    0,    0,    0,  664,  665,    0,  470,    0,    0,
    0,    0,  -42,  604,    0,  983,    0, -106,    0,    0,
    0,    0,    0,    0,    0,  472,    0,    0, 2244,  693,
    0,    0,    0, -200,  473,    0,    0,    0,    0,    0,
    0,    0, -106,    0, -106,  283,    0,    0,    0,    0,
    0,    0,  694,   -5,  701,    0, 2566,   11, -100, 3792,
 3792, 3578, 3792, 3792,    0,  925, 2635, 2649, 2689, 2703,
  477,  702, 2739,  487, 2806, 2833, 2906, 2943, 2991,  705,
 3002, 1317,  856, 1610, 1010, 1634,  394,  394,   51,   51,
   51,   51,  112,  112,  335,  335,    0,    0,    0, 3792,
 3792, 3792,    0,    0,    0, 3792, 3792,    0,    0,    0,
    0,  706,  707,  708,  248,  295,  284,  627,    0,    0,
  -41, 2155, 1895,    0, 1949, 1895, 2036,  709,    0,   -2,
  696, -200,    0,  711,    0,    0,    0,    0,    0,    0,
  715,  194,    0,  499,    0,    0,    0, 2036,    0,    0,
 2036, 2036,    0,    0,    0,    0,  717, 2036, 2036,    0,
  501,    0,    0, 2036,    0,    0,    0,  703,  716,    0,
    0,    0,  983,    0,    0,    0,    0,    0,  505,    0,
  725,  726,  729, -106,  733,    0,    0,    0,  736,  738,
  740,    0, -197,  -53,    0,  741,    0,    0,  744,   46,
    0,    0,    0,  660, 2155, 1506,  756, 3050,  455,  747,
    0,    0, 3096,  475,    0, 3792, -202,  548,    0,  555,
   12,    0,  476,  536,    0,  139,    0,    0,    0,  784,
  785, 3108, 3146, 3186,  781,    0, 3249, 3299,  786, 3792,
  284,  704,  248,  248,    0, -195, -159, -136,    0,    0,
  790,    0,  573,  574,    0,  797,  798,  799,  800,  801,
   20,    0,    0,    0,  802, -197,  804, -197,    0,    0,
    0,    0,    0,    0,    0,    0,    0,  805,  787,    0,
  806, 2036,   98,  791,  810,  572,    0,  458,    0,    0,
  455,  730,  812,  816,    0,  818,    0,    0,    0,  803,
  579,    0,  -20,  139,    0,    0,    0,    0,    0, 2036,
    0,    0,    0,    0,  809,  703,  822,  824,  831,  832,
  834,  840, 2155,    0,  842, 2036,  -16,    0,  133,   36,
    0,  175,  193, -159, -159, -208,    0, -197, -159,   24,
 -197,  109,  845,  579,  568, 2036,    0, 3349,    0, 2036,
  848,  500,    0,  551,    0, 2036, -202, 2036,  830,    0,
    0,  550,    0,   -9,  139, 3387,  284,  767, -187,    0,
    0,    0, -187,    0,  617,    0, 3432,    0,  855,  639,
    0,  574,    0,  862,  865,  867,  869,  872,  873,  876,
  878,  881,  882,    0,    0,  134,    0,    0,    0,  852,
 3792,    4, 3467, 2036,    0,  551,  883,    0, 1702, 3502,
    0, 3540,    0,    0,  874,    0,    0,   -7,    0,    0,
  886,    0,  672,    0,    0,    0, -159, -159,    0, -159,
 -159,    0,    0,    0, -187, -187,    0, 2036,  896,  879,
    0, 3552,  168, 2036,  815,    0,    0, -202,    0,    0,
  898,  902,  903,  904,  905,  906,  907,  910, 3590, 2036,
    0,    0,    0,    0,    0,    0, 3628,    0,    0,    0,
    0,   46,  911,  913,  916,  917,  920,  923,    0, 3723,
  853,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  941, 2155,    2,  924,  858,    0,  922,    0,    0,  870,
  731,  644,  922, 2155,    0,  932,    0,  644,  871,  737,
  296,    0,    0,    0,    0,  739,    0,  296,    0,    0,
    0,  579,    0,  296,    0,  579,    0,    0,  579,    0,
};
static const YYINT yyrindex[] = {                         0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    3,
    6,    0,    0,    0,    0,    0,  877,    0,  965,    0,
  998,    0,  999,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,  -34,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,   19,    0,  942,  945,    0,    0,  877,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,  880,    0,    0,    0,    0,
    0,    0,    0,    0,    0,  966,  966,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,  652,    0,    0,
  657,    0,  661,  667,    0,    0,    0,  668,    0,    0,
    0,  669,    0,  677,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,  899,    0,    0,    0,  912,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,  189,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,  180,  180,  966,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,  686,    0,    0,
    0,    0,    0,    0,  687,    0,    0,    0,    0, 1017,
    0,    0,    0,    0,    0,    0,    0,   23,    0,    0,
    0,    0,    0,    0,    0, 1806,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,  674,  992,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,  966,    0,    0,    0,    0,
    0,    0,    0,  982,    0,    0,    0,    0,    0,  692,
  700,  712,  714,  719,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0, 1365, 1349, 1262, 1213, 1164,  662, 1022,  760,  817,
  866,  915,  420,  519,  259,  363,    0,    0,    0,  720,
  723,  724,    0,    0,    0,  734,  735,    0,    0,    0,
    0,    0,    0,    0,    0,  939,  940,    0,    0,    0,
    0,  943, 1009,    0,    0, 1009,    0,    0,    0,    0,
    0,  796,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,  967, 1037,    0,
    0,    0, 2125,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,  -97,    0,    0, 1009,  271,    0,
    0,    0,    0,  -87,    0,  -18, 1038,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0, 1410,
  973,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
 -133,    0,    0,  -11,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0, 1058,    0,    0,
    0,    0,    0,    0,    0,  -81,    0,    0,    0,    0,
 -104,    0,   22,    0,    0,    0,    0,    0,    0,    0,
  759,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,  967,    0,    0,    0,    0,
    0,    0,  825,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0, -133,
    0, -133,    0,    8,    0,    0,    0,    0,    0,    0,
    0,  114,    0,  979,    0,    0, 1038,    0,    0,    0,
    0,    0,    0,    0,    0,    0,  980,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,  403,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0, -133,    0,    0,    0,    0,
 1065, 1009,    0,    0,    0,  -76,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,  984,    0,    0,    0,    0, 1038,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
 1009,  943,    0,    0,    0,    0,   -1,    0,    0,    0,
    0,  388,   -1,  943,    0,    0,    0,  388,    0,    0,
  118,    0,    0,    0,    0,    0,    0,  118,    0,    0,
    0, 1143,    0,    5,    0, 1143,    0,    0,   38,    0,
};
#if YYBTYACC
static const YYINT yycindex[] = {                         0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
};
#endif
static const YYINT yygindex[] = {                         0,
  -79,  663,  -92,  502,    0,    0,    0,  389,    0, -753,
  279,    0, -514,    0,    0,  297,  289,  345,    0, -509,
  463,  608, -182, 1290,    0, -623, -125, -716,    0,    0,
 -516,    0,    0,    0,  -74,  -25, 1000,    0,    0,    0,
    0,    0,    0,    0,  -13,    0,  868,    0,    0,    0,
    0,    0,  890,    0,  921,    0,    0,    0,    0,    0,
    0,    0,    0,    0,   -4,    0,  895,    0,    0,    0,
 -513,    0,    0,    0,    0, -505,    0, -500,    0, -230,
  486,    0,    0,  623,    0, -443,    0,    0,  698,    0,
  808,    0,    0,    0,    0,    0,  610,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0, 1119,    0,  900,    0,    0,
  -24,    0,  517,    0,    0,    0,    0,    0,    0,
};
#define YYTABLESIZE 4068
static const YYINT yytable[] = {                         26,
  188,  354,   58,  158,  119,   11,  125,  195,  207,   51,
  198,  604,  363,  365,  209,   73,  440,  492,  283,  590,
  683,  247,   27,  462,  466,  608,  121,  169,  116,  144,
  540,  737,  623,  770,  462,  326,  462,  586,  462,   22,
  343,  285,  329,  603,  540,   27,  289,  144,  177,  575,
  312,  465,  618,  731,  319,  613,  329,  229,  344,  329,
  575,  241,  575,  353,  651,  237,  238,  353,  240,  242,
  575,  660,  319,  662,  513,  251,  702,  383,  366,  144,
  347,  384,  260,  261,  843,  130,  131,  304,  712,  153,
  847,  713,  302,  300,   32,  301,  108,  303,  575,  576,
  577,  578,  579,  580,  154,  637,  284,  285,  230,  308,
  684,  347,  657,  144,  346,  838,  715,  315,  256,  367,
  259,  575,  844,  329,  195,  109,  817,  362,  320,  177,
  353,   23,   24,   25,  110,  255,  364,  258,  600,  353,
  703,  637,  132,  383,  789,  614,  716,  384,  304,  717,
  638,  134,  353,  302,  300,  351,  301,  156,  303,  118,
  641,  177,  195,  195,  195,  195,  195,  195,  157,  729,
  700,  738,  377,  701,  757,  380,  381,  353,  383,  384,
  169,  128,  511,  386,  387,  388,  389,  390,  325,  326,
  393,  343,  746,  511,  129,  511,  395,  396,  133,  695,
  397,  398,  399,  511,  584,  760,  401,  402,  403,  404,
  405,  406,  407,  408,  409,  410,  411,  412,  413,  414,
  415,  416,  417,  418,  419,  420,  421,  422,  432,  433,
  434,  511,  136,  426,  427,  137,  287,  459,  460,  343,
  457,  698,  177,  585,  283,  502,  144,  503,  459,  460,
  459,  460,  459,  460,  511,  539,  329,  195,  239,  816,
  326,  326,  177,  444,  311,  195,  144,  285,  318,  539,
  144,  144,  144,  144,  144,  144,  329,   28,  134,  347,
  585,  144,  502,  759,  503,  144,  318,  144,  455,  144,
  456,  804,  245,  575,  814,  195,  239,  144,  239,  239,
   28,  239,  239,  239,  285,  285,  285,  329,  285,  289,
  289,  289,  138,  197,  139,  329,  239,  239,  239,  140,
  239,  239,  329,  159,   51,  298,  299,  141,  144,  343,
  144,  195,  461,  142,  144,  439,  491,  511,  144,  144,
  144,  143,  329,  461,   73,  461,  329,  461,  329,  329,
  329,  144,  239,  836,  119,  144,  835,  195,  195,  195,
  145,  329,  240,  528,   43,  533,  528,  536,  815,  347,
  195,  304,  510,  144,  511,  177,  302,  144,  146,  144,
  829,  303,  239,  239,  357,  642,  111,  147,  552,  148,
  682,  553,  554,  283,  150,  177,  371,  372,  557,  558,
  240,  152,  240,  240,  560,  240,  240,  240,  189,  488,
  593,  594,  595,  596,  597,  598,  599,  428,  429,  241,
  240,  240,  240,  190,  240,  240,  177,  192,  520,  569,
  304,  281,  575,  719,  177,  302,  300,  195,  301,  196,
  303,  177,  116,  143,  219,  281,  195,  101,  281,  197,
  575,  548,  549,  294,  199,  295,  240,  241,  200,  241,
  241,  177,  287,  241,  201,  203,  197,  177,  177,  177,
  205,  704,  705,  642,  206,  637,  210,  241,  241,  241,
  177,  241,  241,  211,  212,  213,  240,  240,  214,  707,
  708,  373,  215,  637,  216,  217,  663,  195,  220,  287,
  287,  287,  221,  224,  112,  111,  642,  113,  114,  115,
  741,  520,  281,  241,  225,  226,  239,  227,  242,  273,
  274,  275,  668,  234,  278,  279,  235,  239,  239,  239,
  239,  239,  239,  239,  239,  236,  239,  635,  636,  239,
  245,  327,  250,  241,  241,  252,  550,  254,  263,  283,
  686,  264,  327,  783,  784,  785,  242,  265,  242,  242,
  266,  267,  242,  269,  270,  511,  697,  239,  276,  277,
  280,  281,  777,  778,  282,  239,  242,  242,  242,  283,
  242,  242,  239,  511,  309,  310,  721,  316,  734,  317,
  723,  324,    1,    2,    3,  333,  730,  321,  732,  239,
  348,  332,  239,    4,    5,  322,  239,  323,  239,  239,
  239,  845,  242,    6,  335,  848,  352,  239,  850,  283,
  240,  239,  353,  112,  355,  356,  113,  123,  124,  520,
  357,  240,  240,  240,  240,  240,  240,  240,  240,  358,
  240,  359,  242,  242,  762,  281,   97,   98,   99,  100,
  102,  103,  104,  105,  106,  360,  283,  283,  283,  328,
  283,  243,  329,  330,  331,  281,  296,  297,  298,  299,
  328,  240,  361,  329,  330,  489,  790,  241,  779,  240,
  368,  369,  370,  376,  787,  391,  240,  392,  241,  241,
  241,  241,  241,  241,  241,  241,  281,  241,  394,  243,
  800,  243,  243,  240,  281,  243,  240,  400,  423,  424,
  240,  281,  240,  240,  240,  336,  425,  430,  431,  243,
  243,  240,  436,  437,  243,  240,  442,  438,  241,  448,
  454,  281,  450,  458,  474,  673,  241,  281,  281,  281,
  120,  463,  475,  241,  477,  483,  485,  486,  487,  490,
  281,  545,  538,  543,  547,  243,  551,  556,  559,  247,
  241,  561,  565,  241,  566,  567,  338,  241,  568,  241,
  241,  241,  570,  563,  339,  572,  242,  573,  241,  574,
  588,   50,  241,  589,  591,  243,  243,  242,  242,  242,
  242,  242,  242,  242,  242,  602,  242,  247,  520,  247,
  247,  340,  605,  247,  607,  616,   50,   23,   24,   25,
  520,  610,  617,  622,  620,  337,  248,  247,  247,  247,
   61,  247,  247,  625,  630,  626,  633,  242,  634,  646,
  648,  575,   23,   24,   25,  242,  652,  653,  654,  655,
  656,  659,  242,  661,  665,   61,  667,  666,  669,  670,
  671,  676,  675,  247,  248,  678,  248,  248,  680,  242,
  248,  689,  242,  681,  690,  245,  242,  687,  242,  242,
  242,  691,  692,  693,  248,  248,  248,  242,  248,  248,
  694,  242,  696,  247,  247,  718,  720,  724,  733,  725,
  735,  740,  304,  291,  742,  744,  745,  302,  300,  727,
  301,  747,  303,  245,  748,  245,  245,  749,  750,  245,
  248,  751,  758,  752,  246,  294,  753,  295,  754,  243,
  755,  756,  764,  245,  245,  245,  771,  245,  245,  772,
  243,  243,  243,  243,  769,  780,  781,  788,  791,  243,
  248,  248,  792,  793,  794,  795,  796,  797,  336,  290,
  798,  805,  246,  806,  246,  246,  807,  808,  246,  245,
  809,  304,  291,  810,  356,  469,  302,  300,  468,  301,
  243,  303,  246,  246,  246,  812,  246,  246,  243,  289,
  603,  818,  819,  821,  294,  243,  295,  286,  825,  245,
  245,  826,  824,  830,  834,  833,  841,  388,  350,  338,
  379,  366,  243,  381,  198,  243,  223,  339,  246,  243,
   14,  243,  243,  243,   50,   31,  229,  247,  290,   32,
  243,  244,   95,  367,  243,   18,   36,   38,  247,  247,
  247,  247,  247,  247,  340,   39,  354,  247,  246,  246,
   23,   24,   25,  101,   25,   22,  304,  291,  289,  207,
   27,  302,  300,   61,  301,  357,  303,  229,   28,  244,
  229,  244,  244,  368,  369,  244,  318,  168,  247,  294,
   43,  295,   29,  198,  248,  229,  247,   30,   15,  244,
  244,   26,   24,  247,  244,  248,  248,  248,  248,  248,
  248,  385,   20,   21,  248,  382,  344,  386,  315,  195,
  247,  289,  168,  247,  370,  316,  293,  247,  535,  247,
  247,  247,  674,  840,  763,  244,  832,  218,  247,  828,
  714,  587,  247,  245,  382,  248,  292,  293,  296,  297,
  298,  299,  699,  248,  245,  245,  245,  245,  245,  245,
  248,  229,  378,  245,  375,  244,  244,  592,  349,  544,
  619,  127,  688,  379,    0,    0,    0,  248,    0,    0,
  248,  453,    0,  249,  248,    0,  248,  248,  248,    0,
    0,    0,  246,    0,  245,  248,    0,    0,    0,  248,
    0,    0,  245,  246,  246,  246,  246,  246,  246,  245,
    0,    0,  246,  287,  288,  292,  293,  296,  297,  298,
  299,  249,    0,  249,  249,    0,  245,  249,    0,  245,
    0,    0,  250,  245,    0,  245,  245,  245,    0,    0,
    0,  249,  249,  246,  245,    0,  249,    0,  245,    0,
    0,  246,    0,    0,    0,    0,    0,    0,  246,    0,
    0,    0,   97,   98,   99,  100,  102,  103,  104,  105,
  106,    0,  250,  250,    0,  246,  250,  249,  246,    0,
    0,  251,  246,    0,  246,  246,  246,  195,    0,    0,
  250,  250,    0,  246,  229,  250,    0,  246,    0,  244,
  292,  293,  296,  297,  298,  299,    0,  249,  249,    0,
  244,  244,  244,  244,  229,    0,    0,    0,    0,  244,
    0,  251,  251,    0,    0,  251,  250,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,  251,
  251,    0,    0,    0,  251,  229,    0,    0,    0,    0,
  244,    0,    0,  229,    0,    0,  250,  250,  244,    0,
  229,    0,    0,    0,    0,  244,    0,    0,  253,    0,
    0,    0,    0,  304,  291,    0,    0,  229,  302,  300,
  229,  301,  244,  303,  254,  244,  229,  229,  229,  244,
    0,  244,  244,  244,    0,    0,  294,    0,  295,  229,
  244,    0,    0,    0,  244,  251,  251,    0,  253,  253,
    0,    0,  253,    0,    0,    0,    0,    0,    0,    0,
  195,    0,    0,    0,  254,  254,  253,  253,  254,  252,
  290,  253,    0,    0,    0,    0,    0,    0,    0,    0,
  195,  249,  254,  254,    0,    0,    0,  254,    0,    0,
    0,    0,  249,  249,    0,    0,    0,    0,    0,    0,
  289,  249,    0,    0,    0,    0,    0,    0,    0,  252,
  252,  195,    0,  252,    0,    0,    0,    0,    0,  195,
    0,    0,    0,    0,    0,    0,  195,  252,  252,    0,
  250,    0,  249,  253,    0,    0,    0,    0,    0,    0,
  249,  250,  250,    0,    0,    0,  195,  249,    0,  254,
  250,    0,  195,  195,  195,    0,    0,    0,    0,    0,
    0,    0,    0,    0,  249,  195,    0,  249,    0,    0,
    0,  249,    0,  249,  249,  249,    0,    0,    0,  251,
    0,  250,  249,    0,    0,    0,  249,    0,    0,  250,
  251,  251,    0,    0,  252,    0,  250,    0,  186,  251,
    0,    0,    0,    0,    0,  164,  600,    0,  162,    0,
  163,    0,    0,  250,    0,    0,  250,    0,    0,    0,
  250,    0,  250,  250,  250,    0,    0,    0,    0,    0,
  251,  250,    0,    0,    0,  250,    0,    0,  251,    0,
    0,    0,    0,    0,    0,  251,  288,  292,  293,  296,
  297,  298,  299,    0,    0,    0,    0,    0,    0,    0,
    0,    0,  251,    0,    0,  251,  253,    0,    0,  251,
    0,  251,  251,  251,    0,    0,    0,  253,  253,    0,
  251,    0,  254,    0,  251,    0,  253,  186,    0,    0,
    0,  187,    0,  254,  164,    0,    0,  162,  307,  163,
    0,    0,  254,    0,    0,    0,  304,  291,    0,    0,
    0,  302,  300,    0,  301,  306,  303,  253,    0,    0,
    0,    0,    0,    0,    0,  253,    0,  252,    0,  294,
  304,  295,  253,  254,    0,  302,  300,    0,  301,    0,
  303,  254,    0,    0,    0,    0,    0,  252,  254,  253,
    0,    0,  253,  294,    0,  295,  253,    0,  253,  253,
  253,    0,    0,  290,    0,  254,    0,  253,  254,    0,
    0,  253,  254,    0,  254,  254,  254,    0,  252,    0,
  187,    0,    0,  254,    0,    0,  252,  254,    0,    0,
    0,    0,    0,  252,    0,    0,  186,    0,    0,    0,
    0,    0,    0,  164,    0,    0,  162,  314,  163,    0,
  252,    0,    0,  252,    0,    0,    0,  252,    0,  252,
  252,  252,  160,  161,  313,    0,    0,    0,  252,    0,
    0,    0,  252,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,  165,  166,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,  167,
  168,  169,  583,    0,    0,    0,    0,  170,    0,    0,
    0,    0,    0,  171,    0,    0,    0,    0,  593,  594,
  595,  596,  597,  598,  599,  172,  766,    0,    0,  187,
  173,  174,  175,  176,  177,  178,  179,    0,  294,    0,
    0,    0,    0,    0,  180,  294,  181,    0,  294,    0,
  294,  160,  161,    0,    0,  639,  640,    0,    0,    0,
    0,    0,  182,  294,    0,    0,    0,    0,  183,  184,
    0,    0,    0,  165,  166,  583,    0,  583,    0,    0,
  292,  293,  296,  297,  298,  299,    0,    0,  167,  168,
  169,    0,    0,    0,    0,    0,  170,  185,    0,    0,
    0,    0,  171,    0,  292,  293,  296,  297,  298,  299,
    0,    0,    0,    0,  172,    0,    0,    0,    0,  173,
  174,  175,  176,  177,  178,  179,    0,  186,    0,    0,
    0,  294,    0,  180,  526,  181,    0,  162,    0,  163,
    0,  706,  709,  710,  711,    0,    0,  583,  639,    0,
  583,  182,    0,    0,    0,    0,    0,  183,  184,  336,
  160,  161,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,  186,  165,  166,    0,    0,  185,    0,  164,    0,
    0,  162,    0,  163,    0,    0,    0,  167,  168,  169,
    0,    0,    0,    0,    0,  170,  532,    0,    0,    0,
  338,  171,    0,    0,    0,    0,    0,    0,  339,    0,
  187,    0,    0,  172,    0,   50,    0,    0,  173,  174,
  175,  176,  177,  178,  179,    0,  773,  774,    0,  775,
  776,    0,  180,    0,  181,  340,    0,    0,    0,    0,
    0,   23,   24,   25,    0,    0,    0,    0,    0,    0,
  182,    0,  294,  294,   61,    0,  183,  184,  186,    0,
    0,    0,    0,    0,  187,  164,    0,    0,  162,    0,
  163,    0,    0,    0,  294,  294,  294,    0,    0,    0,
    0,    0,    0,    0,    0,  185,    0,    0,    0,  294,
  294,  294,    0,    0,    0,    0,    0,  294,    0,    0,
    0,    0,    0,  294,  304,  291,    0,    0,    0,  302,
  300,  305,  301,    0,  303,  294,    0,    0,    0,    0,
  294,  294,  294,  294,  294,  294,  294,  294,    0,  295,
  286,    0,    0,    0,  294,    0,  294,    0,    0,    0,
    0,  160,  161,    0,    0,    0,    0,    0,    0,    0,
    0,  187,  294,    0,  116,    0,    0,    0,  294,  294,
    0,  290,    0,  165,  166,  527,    0,    0,    0,    0,
    0,    0,    0,  143,    0,    0,    0,    0,  167,  168,
  169,    0,    0,    0,    0,    0,  170,  294,    0,    0,
    0,  289,  171,    0,    0,  160,  161,    0,    0,    0,
    0,    0,    0,  512,  172,  143,    0,    0,    0,  173,
  174,  175,  176,  177,  178,  179,    0,  165,  166,    0,
    0,    0,    0,  180,    0,  181,    0,    0,    0,    0,
    0,    0,  167,  168,  169,  513,    0,    0,    0,  143,
  170,  182,    0,    0,    0,    0,  171,  183,  184,    0,
    0,    0,    0,    0,    0,    0,    0,    0,  172,    0,
    0,    0,    0,  173,  174,  175,  176,  177,  178,  179,
    0,    0,    0,    0,    0,    0,  185,  180,    0,  181,
    0,    0,  160,  161,    0,    0,    0,    0,    0,    0,
    0,    0,   63,    0,    0,  182,    0,    0,    0,    0,
    0,  183,  184,    0,  165,  166,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,  167,
  168,  169,    0,    0,    0,    0,    0,  170,    0,    0,
  185,    0,    0,  171,    0,    0,  287,  288,  292,  293,
  296,  297,  298,  299,    0,  172,    0,    0,    0,    0,
  173,  174,  175,  176,  177,  178,  179,    0,    0,    0,
   63,    0,    0,    0,  180,    0,  181,    0,    0,    0,
    0,    0,  143,    0,    0,    0,    0,    0,    0,    0,
    0,    0,  182,    0,    0,    0,    0,    0,  183,  184,
    0,    0,  143,    0,    0,    0,  143,  143,  143,  143,
  143,  143,  493,    0,    0,    0,    0,  143,    0,    0,
    0,  143,    0,  143,    0,  143,    0,  185,    0,    0,
    0,    0,    0,  143,    0,    0,  494,  495,  496,  497,
  498,  499,    0,    0,    0,    0,    0,  500,    0,    0,
    0,  501,    0,  502,    0,  503,    0,    0,    0,    0,
    0,    0,    0,  504,  143,    0,  143,    0,    0,    0,
  143,    0,    0,    0,  143,  143,  143,    0,    0,    0,
    0,    0,    0,    0,    0,  304,  291,  143,    0,  385,
  302,  300,    0,  301,  505,  303,  506,    0,    0,    0,
  507,   22,    0,    0,   23,   24,   25,    0,  294,  143,
  295,  286,    0,  143,    0,  143,    0,  508,    0,    0,
    0,  449,    0,    0,    0,    0,    0,    0,    0,    0,
    0,   35,   36,   37,    0,    0,    0,    0,    0,  509,
    0,    0,  290,  510,    0,  511,   38,   39,   40,   41,
   42,    0,   43,   44,   45,   46,    0,    0,    0,    0,
    0,    0,    0,    0,   47,   48,   49,   50,    0,   22,
    0,    0,  289,    0,    0,   51,   52,   53,   54,   55,
   56,   57,    0,    0,    0,    0,   58,   59,   60,    0,
    0,    0,    0,   23,   24,   25,    0,    0,    0,   35,
   36,   37,  304,  291,    0,    0,   61,  302,  300,  464,
  301,    0,  303,    0,   38,   39,   40,   41,   42,   62,
   43,   44,   45,   46,    0,  294,    0,  295,  286,    0,
    0,    0,   47,   48,   49,   50,    0,    0,    0,    0,
    0,    0,    0,   51,   52,   53,   54,   55,   56,   57,
    0,    0,    0,    0,   58,   59,   60,    0,    0,  290,
    0,   23,   24,   25,    0,    0,    0,    0,    0,    0,
    0,  304,  291,    0,   61,  470,  302,  300,    0,  301,
    0,  303,    0,    0,    0,  304,  291,   62,    0,  289,
  302,  300,  471,  301,  294,  303,  295,  286,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,  294,    0,
  295,  286,    0,    0,    0,    0,    0,  287,  288,  292,
  293,  296,  297,  298,  299,  304,  291,    0,  290,    0,
  302,  300,  472,  301,    0,  303,    0,    0,    0,  304,
  291,    0,  290,  473,  302,  300,    0,  301,  294,  303,
  295,  286,    0,    0,    0,    0,    0,    0,  289,    0,
    0,    0,  294,    0,  295,  286,    0,    0,    0,    0,
    0,    0,  289,    0,    0,  304,  291,    0,    0,  476,
  302,  300,  290,  301,    0,  303,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,  290,    0,  294,    0,
  295,  286,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,  289,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,  289,    0,    0,    0,
    0,    0,  290,    0,  287,  288,  292,  293,  296,  297,
  298,  299,  304,  291,    0,    0,    0,  302,  300,  478,
  301,    0,  303,    0,    0,    0,    0,    0,    0,    0,
    0,    0,  289,    0,    0,  294,    0,  295,  286,  304,
  291,    0,    0,    0,  302,  300,  479,  301,    0,  303,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,  294,    0,  295,  286,    0,    0,    0,  290,
    0,    0,    0,  287,  288,  292,  293,  296,  297,  298,
  299,    0,    0,    0,    0,    0,    0,  287,  288,  292,
  293,  296,  297,  298,  299,    0,  290,    0,    0,  289,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,  304,  291,    0,    0,  480,  302,  300,    0,
  301,    0,  303,    0,    0,    0,  289,  287,  288,  292,
  293,  296,  297,  298,  299,  294,    0,  295,  286,    0,
    0,  287,  288,  292,  293,  296,  297,  298,  299,  304,
  291,    0,    0,    0,  302,  300,  481,  301,    0,  303,
    0,    0,    0,    0,    0,    0,    0,    0,    0,  290,
    0,    0,  294,    0,  295,  286,    0,  287,  288,  292,
  293,  296,  297,  298,  299,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,  304,  291,  289,
    0,  482,  302,  300,    0,  301,  290,  303,  304,  291,
    0,    0,    0,  302,  300,    0,  301,    0,  303,    0,
  294,    0,  295,  286,    0,    0,    0,    0,    0,  484,
    0,  294,    0,  295,  286,    0,  289,    0,    0,    0,
    0,    0,    0,    0,  287,  288,  292,  293,  296,  297,
  298,  299,    0,    0,  290,    0,  304,  291,    0,  603,
    0,  302,  300,    0,  301,  290,  303,    0,    0,    0,
    0,  287,  288,  292,  293,  296,  297,  298,  299,  294,
    0,  295,  286,    0,  289,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,  289,    0,    0,    0,    0,
    0,    0,  304,  291,    0,    0,    0,  302,  300,    0,
  301,    0,  303,  290,  304,  291,    0,    0,  627,  302,
  300,    0,  301,  609,  303,  294,    0,  295,  286,    0,
    0,    0,    0,    0,    0,    0,    0,  294,    0,  295,
  286,    0,    0,  289,  287,  288,  292,  293,  296,  297,
  298,  299,  304,  291,    0,    0,  628,  302,  300,  290,
  301,    0,  303,    0,    0,    0,    0,    0,    0,    0,
    0,  290,    0,    0,    0,  294,    0,  295,  286,    0,
    0,  287,  288,  292,  293,  296,  297,  298,  299,  289,
    0,    0,  304,  291,    0,    0,  629,  302,  300,    0,
  301,  289,  303,    0,    0,    0,    0,    0,    0,  290,
    0,    0,    0,    0,    0,  294,    0,  295,  286,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,  287,
  288,  292,  293,  296,  297,  298,  299,    0,    0,  289,
  287,  288,  292,  293,  296,  297,  298,  299,    0,  290,
    0,    0,    0,    0,    0,  304,  291,    0,    0,  631,
  302,  300,    0,  301,    0,  303,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,  294,  289,
  295,  286,    0,    0,    0,    0,    0,    0,  287,  288,
  292,  293,  296,  297,  298,  299,    0,    0,    0,    0,
    0,    0,    0,    0,    0,  304,  291,    0,    0,  632,
  302,  300,  290,  301,    0,  303,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,  294,    0,
  295,  286,    0,    0,  287,  288,  292,  293,  296,  297,
  298,  299,  289,    0,    0,    0,  287,  288,  292,  293,
  296,  297,  298,  299,    0,  304,  291,    0,    0,  722,
  302,  300,  290,  301,    0,  303,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,  294,    0,
  295,  286,    0,    0,  287,  288,  292,  293,  296,  297,
  298,  299,  289,  304,  291,    0,    0,  739,  302,  300,
    0,  301,    0,  303,    0,    0,    0,    0,    0,    0,
    0,    0,  290,    0,    0,    0,  294,    0,  295,  286,
    0,    0,    0,    0,  287,  288,  292,  293,  296,  297,
  298,  299,    0,    0,    0,    0,    0,    0,  304,  291,
    0,    0,  289,  302,  300,  743,  301,    0,  303,    0,
  290,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,  294,    0,  295,  286,    0,    0,    0,    0,    0,
    0,    0,    0,  304,  291,    0,    0,  761,  302,  300,
  289,  301,    0,  303,    0,    0,    0,  287,  288,  292,
  293,  296,  297,  298,  299,  290,  294,    0,  295,  286,
    0,    0,    0,    0,    0,    0,    0,    0,  304,  291,
    0,    0,  767,  302,  300,    0,  301,    0,  303,    0,
    0,    0,    0,    0,    0,  289,    0,    0,    0,    0,
  290,  294,    0,  295,  286,    0,    0,  287,  288,  292,
  293,  296,  297,  298,  299,    0,  304,  291,    0,    0,
  768,  302,  300,    0,  301,    0,  303,    0,  304,  291,
  289,    0,  782,  302,  300,  290,  301,    0,  303,  294,
    0,  295,  286,    0,    0,    0,    0,    0,    0,    0,
    0,  294,    0,  295,  286,    0,    0,  287,  288,  292,
  293,  296,  297,  298,  299,  289,  304,  291,    0,    0,
  799,  302,  300,  290,  301,    0,  303,    0,    0,    0,
    0,    0,    0,    0,    0,  290,    0,    0,    0,  294,
    0,  295,  286,    0,    0,  287,  288,  292,  293,  296,
  297,  298,  299,  289,  304,  291,    0,    0,  802,  302,
  300,    0,  301,    0,  303,  289,    0,    0,    0,    0,
    0,    0,    0,  290,    0,    0,    0,  294,    0,  295,
  286,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  287,  288,  292,  293,  296,  297,  298,  299,    0,    0,
    0,    0,    0,  289,    0,    0,    0,    0,    0,    0,
    0,  290,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,  287,  288,  292,  293,  296,
  297,  298,  299,    0,    0,    0,    0,    0,    0,    0,
    0,  289,    0,    0,    0,    0,    0,    0,    0,  304,
  291,    0,    0,  811,  302,  300,    0,  301,    0,  303,
  287,  288,  292,  293,  296,  297,  298,  299,    0,    0,
    0,    0,  294,    0,  295,  286,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,  287,  288,
  292,  293,  296,  297,  298,  299,  290,    0,    0,    0,
  287,  288,  292,  293,  296,  297,  298,  299,  304,  291,
    0,    0,    0,  302,  300,   76,  301,    0,  303,    0,
    0,    0,    0,    0,    0,    0,  289,    0,    0,    0,
    0,  294,    0,  295,  286,  467,   77,    0,  287,  288,
  292,  293,  296,  297,  298,  299,   76,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,  290,   78,   77,    0,    0,
    0,    0,    0,    0,    0,    0,  287,  288,  292,  293,
  296,  297,  298,  299,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,  289,    0,   78,    0,    0,
    0,    0,    0,    0,   79,    0,    0,    0,    0,    0,
    0,   80,   81,   82,   83,   84,    0,   85,   86,   87,
    0,    0,   88,   89,    0,   90,   91,   92,    0,    0,
    0,    0,   93,   94,   95,   79,    0,    0,    0,    0,
    0,    0,   80,   81,   82,   83,   84,    0,   85,   86,
   87,    0,    0,   88,   89,    0,   90,   91,   92,    0,
    0,    0,    0,   93,   94,   95,    0,    0,    0,    0,
    0,  287,  288,  292,  293,  296,  297,  298,  299,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  287,  288,  292,  293,  296,  297,  298,  299,
};
static const YYINT yycheck[] = {                         13,
   80,  232,    0,   78,   29,    0,   32,    0,  101,   44,
   90,  528,  243,  244,  107,   20,   59,   59,  123,  520,
   41,  147,  123,   44,  125,  531,   31,  125,   40,   41,
   33,   41,  546,   41,   44,  123,   44,   91,   44,  258,
   59,  123,   44,   40,   33,  123,  123,   59,   44,  258,
   44,   41,   41,  677,   44,  258,   58,  258,  125,   61,
  258,   41,  258,   44,  574,  140,  141,   44,  143,  144,
  258,  586,   44,  588,   91,  150,   41,   59,   44,   91,
   59,   59,  162,  163,  838,  291,  292,   37,  297,   44,
  844,  300,   42,   43,  123,   45,   40,   47,  258,  297,
  298,  299,  300,  301,   59,  301,  186,  187,  309,  189,
  624,   41,   93,  125,   44,  832,   93,  197,   44,  245,
   44,  258,  839,  125,  258,   40,  125,   41,  208,  125,
   44,  350,  351,  352,   40,   61,   41,   61,   41,   44,
  650,  301,   40,  125,  768,  348,  661,  125,   37,   41,
  346,  258,   44,   42,   43,  230,   45,  382,   47,  123,
  297,   44,  125,  297,  298,  299,  300,  301,  258,  675,
   38,  685,  252,   41,   41,  255,  256,   44,  258,  259,
  278,  123,  391,  263,  264,  265,  266,  267,  214,  215,
  270,  258,  702,  391,  123,  391,  276,  277,   40,  643,
  280,  281,  282,  391,  258,  722,  286,  287,  288,  289,
  290,  291,  292,  293,  294,  295,  296,  297,  298,  299,
  300,  301,  302,  303,  304,  305,  306,  307,  321,  322,
  323,  391,  123,  313,  314,   40,  123,  258,  259,  258,
  366,  258,  125,  297,  349,  299,  258,  301,  258,  259,
  258,  259,  258,  259,  391,  258,  258,  391,    0,  258,
  348,  349,  258,  338,  258,  258,  278,  349,  258,  258,
  282,  283,  284,  285,  286,  287,  278,  378,  258,  258,
  297,  293,  299,  280,  301,  297,  258,  299,  363,  301,
  365,  792,  258,  258,  811,  258,   38,  309,   40,   41,
  378,   43,   44,   45,  386,  387,  388,  309,  390,  386,
  387,  388,   40,  125,   40,  317,   58,   59,   60,   40,
   62,   63,  324,  258,  359,  275,  276,   40,  340,  348,
  342,  324,  353,   40,  346,  378,  378,  391,  350,  351,
  352,   40,  344,  353,  349,  353,  348,  353,  350,  351,
  352,  363,   94,   58,  379,   40,   61,  350,  351,  352,
   40,  363,    0,  443,  359,  445,  446,  447,  812,  348,
  363,   37,  389,  385,  391,  258,   42,  389,   40,  391,
  824,   47,  124,  125,  382,  568,  258,   40,  468,   40,
  621,  471,  472,  123,   40,  278,  258,  259,  478,  479,
   38,   40,   40,   41,  484,   43,   44,   45,  258,  435,
  313,  314,  315,  316,  317,  318,  319,  257,  258,    0,
   58,   59,   60,  258,   62,   63,  309,  258,  442,  504,
   37,   44,  258,  664,  317,   42,   43,  258,   45,  258,
   47,  324,   40,   41,   58,   58,  258,   61,   61,  258,
  258,  258,  259,   60,  258,   62,   94,   38,  257,   40,
   41,  344,  349,   44,  258,  258,  278,  350,  351,  352,
  258,  297,  298,  656,  359,  301,  258,   58,   59,   60,
  363,   62,   63,  258,  258,  258,  124,  125,   58,  297,
  298,  353,   58,  301,   59,  125,  589,  309,   59,  386,
  387,  388,  125,  258,  376,  258,  689,  379,  380,  381,
  693,  525,  125,   94,  258,  258,  258,  258,    0,  175,
  176,  177,  602,  258,  180,  181,  258,  269,  270,  271,
  272,  273,  274,  275,  276,  258,  278,  563,  564,  258,
  258,  258,   40,  124,  125,   40,  353,  123,   40,  279,
  630,   40,  258,  386,  387,  388,   38,   40,   40,   41,
   40,   40,   44,   40,   40,  391,  646,  309,   40,   40,
   40,   40,  755,  756,   40,  317,   58,   59,   60,   40,
   62,   63,  324,  391,   44,   44,  666,   44,  681,   44,
  670,  123,  372,  373,  374,  125,  676,   61,  678,  341,
   41,   59,  344,  383,  384,   61,  348,   61,  350,  351,
  352,  842,   94,  393,   59,  846,  125,  359,  849,  349,
  258,  363,   44,  376,   44,   41,  379,  380,  381,  643,
   41,  269,  270,  271,  272,  273,  274,  275,  276,   41,
  278,   41,  124,  125,  724,  258,  260,  261,  262,  263,
  264,  265,  266,  267,  268,   41,  386,  387,  388,  376,
  390,    0,  379,  380,  381,  278,  273,  274,  275,  276,
  376,  309,   41,  379,  380,  381,  769,  258,  758,  317,
   41,   41,   41,   41,  764,   40,  324,  258,  269,  270,
  271,  272,  273,  274,  275,  276,  309,  278,   40,   38,
  780,   40,   41,  341,  317,   44,  344,  258,  258,  258,
  348,  324,  350,  351,  352,  258,  258,  258,  258,   58,
   59,  359,   59,   59,   63,  363,  123,  258,  309,  258,
  258,  344,   40,   40,  258,  278,  317,  350,  351,  352,
  258,   41,   41,  324,  258,   41,   41,   41,   41,  123,
  363,   41,   44,   58,   40,   94,  258,   41,  258,    0,
  341,   59,  258,  344,   40,   40,  309,  348,   40,  350,
  351,  352,   40,   58,  317,   40,  258,   40,  359,   40,
   40,  324,  363,   40,  125,  124,  125,  269,  270,  271,
  272,  273,  274,  275,  276,   40,  278,   38,  812,   40,
   41,  344,  348,   44,   58,  258,  324,  350,  351,  352,
  824,  337,  258,  278,  339,  125,    0,   58,   59,   60,
  363,   62,   63,   40,   44,   41,   41,  309,  125,   40,
  258,  258,  350,  351,  352,  317,   40,   40,   40,   40,
   40,   40,  324,   40,   40,  363,   41,   61,   58,   40,
  279,   40,  123,   94,   38,   40,   40,   41,   41,  341,
   44,   40,  344,   61,   41,    0,  348,   59,  350,  351,
  352,   41,   41,   40,   58,   59,   60,  359,   62,   63,
   41,  363,   41,  124,  125,   41,  319,   40,   59,  390,
  341,  125,   37,   38,  278,   41,  258,   42,   43,  349,
   45,   40,   47,   38,   40,   40,   41,   41,   40,   44,
   94,   40,   61,   41,    0,   60,   41,   62,   41,  258,
   40,   40,   40,   58,   59,   60,   41,   62,   63,  258,
  269,  270,  271,  272,   61,   40,   58,  123,   41,  278,
  124,  125,   41,   41,   41,   41,   41,   41,  258,   94,
   41,   41,   38,   41,   40,   41,   41,   41,   44,   94,
   41,   37,   38,   41,    0,   41,   42,   43,   44,   45,
  309,   47,   58,   59,   60,  123,   62,   63,  317,  124,
   40,   58,  125,   62,   60,  324,   62,   63,  258,  124,
  125,  348,  123,   62,  258,  125,  258,    0,    0,  309,
   59,  125,  341,   59,  125,  344,   41,  317,   94,  348,
  359,  350,  351,  352,  324,  359,    0,  258,   94,  359,
  359,    0,   41,  125,  363,  359,  359,  359,  269,  270,
  271,  272,  273,  274,  344,  359,  125,  278,  124,  125,
  350,  351,  352,   61,  359,  359,   37,   38,  124,   58,
  359,   42,   43,  363,   45,  382,   47,   41,  359,   38,
   44,   40,   41,  125,  125,   44,   58,  125,  309,   60,
  359,   62,  359,  278,  258,   59,  317,  359,  359,   58,
   59,  359,  359,  324,   63,  269,  270,  271,  272,  273,
  274,  125,  359,  359,  278,   59,   59,  125,   41,  341,
  341,  123,  278,  344,  125,   41,  123,  348,  446,  350,
  351,  352,  611,  835,  726,   94,  828,  118,  359,  823,
  658,  514,  363,  258,  257,  309,  271,  272,  273,  274,
  275,  276,  647,  317,  269,  270,  271,  272,  273,  274,
  324,  125,  253,  278,  250,  124,  125,  525,  228,  452,
  541,   33,  636,  254,   -1,   -1,   -1,  341,   -1,   -1,
  344,  354,   -1,    0,  348,   -1,  350,  351,  352,   -1,
   -1,   -1,  258,   -1,  309,  359,   -1,   -1,   -1,  363,
   -1,   -1,  317,  269,  270,  271,  272,  273,  274,  324,
   -1,   -1,  278,  269,  270,  271,  272,  273,  274,  275,
  276,   38,   -1,   40,   41,   -1,  341,   44,   -1,  344,
   -1,   -1,    0,  348,   -1,  350,  351,  352,   -1,   -1,
   -1,   58,   59,  309,  359,   -1,   63,   -1,  363,   -1,
   -1,  317,   -1,   -1,   -1,   -1,   -1,   -1,  324,   -1,
   -1,   -1,  260,  261,  262,  263,  264,  265,  266,  267,
  268,   -1,   40,   41,   -1,  341,   44,   94,  344,   -1,
   -1,    0,  348,   -1,  350,  351,  352,  125,   -1,   -1,
   58,   59,   -1,  359,  258,   63,   -1,  363,   -1,  258,
  271,  272,  273,  274,  275,  276,   -1,  124,  125,   -1,
  269,  270,  271,  272,  278,   -1,   -1,   -1,   -1,  278,
   -1,   40,   41,   -1,   -1,   44,   94,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   58,
   59,   -1,   -1,   -1,   63,  309,   -1,   -1,   -1,   -1,
  309,   -1,   -1,  317,   -1,   -1,  124,  125,  317,   -1,
  324,   -1,   -1,   -1,   -1,  324,   -1,   -1,    0,   -1,
   -1,   -1,   -1,   37,   38,   -1,   -1,  341,   42,   43,
  344,   45,  341,   47,    0,  344,  350,  351,  352,  348,
   -1,  350,  351,  352,   -1,   -1,   60,   -1,   62,  363,
  359,   -1,   -1,   -1,  363,  124,  125,   -1,   40,   41,
   -1,   -1,   44,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  258,   -1,   -1,   -1,   40,   41,   58,   59,   44,    0,
   94,   63,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  278,  258,   58,   59,   -1,   -1,   -1,   63,   -1,   -1,
   -1,   -1,  269,  270,   -1,   -1,   -1,   -1,   -1,   -1,
  124,  278,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   40,
   41,  309,   -1,   44,   -1,   -1,   -1,   -1,   -1,  317,
   -1,   -1,   -1,   -1,   -1,   -1,  324,   58,   59,   -1,
  258,   -1,  309,  125,   -1,   -1,   -1,   -1,   -1,   -1,
  317,  269,  270,   -1,   -1,   -1,  344,  324,   -1,  125,
  278,   -1,  350,  351,  352,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,  341,  363,   -1,  344,   -1,   -1,
   -1,  348,   -1,  350,  351,  352,   -1,   -1,   -1,  258,
   -1,  309,  359,   -1,   -1,   -1,  363,   -1,   -1,  317,
  269,  270,   -1,   -1,  125,   -1,  324,   -1,   33,  278,
   -1,   -1,   -1,   -1,   -1,   40,   41,   -1,   43,   -1,
   45,   -1,   -1,  341,   -1,   -1,  344,   -1,   -1,   -1,
  348,   -1,  350,  351,  352,   -1,   -1,   -1,   -1,   -1,
  309,  359,   -1,   -1,   -1,  363,   -1,   -1,  317,   -1,
   -1,   -1,   -1,   -1,   -1,  324,  270,  271,  272,  273,
  274,  275,  276,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,  341,   -1,   -1,  344,  258,   -1,   -1,  348,
   -1,  350,  351,  352,   -1,   -1,   -1,  269,  270,   -1,
  359,   -1,  258,   -1,  363,   -1,  278,   33,   -1,   -1,
   -1,  126,   -1,  269,   40,   -1,   -1,   43,   44,   45,
   -1,   -1,  278,   -1,   -1,   -1,   37,   38,   -1,   -1,
   -1,   42,   43,   -1,   45,   61,   47,  309,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,  317,   -1,  258,   -1,   60,
   37,   62,  324,  309,   -1,   42,   43,   -1,   45,   -1,
   47,  317,   -1,   -1,   -1,   -1,   -1,  278,  324,  341,
   -1,   -1,  344,   60,   -1,   62,  348,   -1,  350,  351,
  352,   -1,   -1,   94,   -1,  341,   -1,  359,  344,   -1,
   -1,  363,  348,   -1,  350,  351,  352,   -1,  309,   -1,
  126,   -1,   -1,  359,   -1,   -1,  317,  363,   -1,   -1,
   -1,   -1,   -1,  324,   -1,   -1,   33,   -1,   -1,   -1,
   -1,   -1,   -1,   40,   -1,   -1,   43,   44,   45,   -1,
  341,   -1,   -1,  344,   -1,   -1,   -1,  348,   -1,  350,
  351,  352,  257,  258,   61,   -1,   -1,   -1,  359,   -1,
   -1,   -1,  363,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,  279,  280,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  294,
  295,  296,  513,   -1,   -1,   -1,   -1,  302,   -1,   -1,
   -1,   -1,   -1,  308,   -1,   -1,   -1,   -1,  313,  314,
  315,  316,  317,  318,  319,  320,  125,   -1,   -1,  126,
  325,  326,  327,  328,  329,  330,  331,   -1,   33,   -1,
   -1,   -1,   -1,   -1,  339,   40,  341,   -1,   43,   -1,
   45,  257,  258,   -1,   -1,  566,  567,   -1,   -1,   -1,
   -1,   -1,  357,   58,   -1,   -1,   -1,   -1,  363,  364,
   -1,   -1,   -1,  279,  280,  586,   -1,  588,   -1,   -1,
  271,  272,  273,  274,  275,  276,   -1,   -1,  294,  295,
  296,   -1,   -1,   -1,   -1,   -1,  302,  392,   -1,   -1,
   -1,   -1,  308,   -1,  271,  272,  273,  274,  275,  276,
   -1,   -1,   -1,   -1,  320,   -1,   -1,   -1,   -1,  325,
  326,  327,  328,  329,  330,  331,   -1,   33,   -1,   -1,
   -1,  126,   -1,  339,   40,  341,   -1,   43,   -1,   45,
   -1,  652,  653,  654,  655,   -1,   -1,  658,  659,   -1,
  661,  357,   -1,   -1,   -1,   -1,   -1,  363,  364,  258,
  257,  258,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   33,  279,  280,   -1,   -1,  392,   -1,   40,   -1,
   -1,   43,   -1,   45,   -1,   -1,   -1,  294,  295,  296,
   -1,   -1,   -1,   -1,   -1,  302,   58,   -1,   -1,   -1,
  309,  308,   -1,   -1,   -1,   -1,   -1,   -1,  317,   -1,
  126,   -1,   -1,  320,   -1,  324,   -1,   -1,  325,  326,
  327,  328,  329,  330,  331,   -1,  747,  748,   -1,  750,
  751,   -1,  339,   -1,  341,  344,   -1,   -1,   -1,   -1,
   -1,  350,  351,  352,   -1,   -1,   -1,   -1,   -1,   -1,
  357,   -1,  257,  258,  363,   -1,  363,  364,   33,   -1,
   -1,   -1,   -1,   -1,  126,   40,   -1,   -1,   43,   -1,
   45,   -1,   -1,   -1,  279,  280,  281,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,  392,   -1,   -1,   -1,  294,
  295,  296,   -1,   -1,   -1,   -1,   -1,  302,   -1,   -1,
   -1,   -1,   -1,  308,   37,   38,   -1,   -1,   -1,   42,
   43,   44,   45,   -1,   47,  320,   -1,   -1,   -1,   -1,
  325,  326,  327,  328,  329,  330,  331,   60,   -1,   62,
   63,   -1,   -1,   -1,  339,   -1,  341,   -1,   -1,   -1,
   -1,  257,  258,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,  126,  357,   -1,   40,   -1,   -1,   -1,  363,  364,
   -1,   94,   -1,  279,  280,  281,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   59,   -1,   -1,   -1,   -1,  294,  295,
  296,   -1,   -1,   -1,   -1,   -1,  302,  392,   -1,   -1,
   -1,  124,  308,   -1,   -1,  257,  258,   -1,   -1,   -1,
   -1,   -1,   -1,   59,  320,   91,   -1,   -1,   -1,  325,
  326,  327,  328,  329,  330,  331,   -1,  279,  280,   -1,
   -1,   -1,   -1,  339,   -1,  341,   -1,   -1,   -1,   -1,
   -1,   -1,  294,  295,  296,   91,   -1,   -1,   -1,  125,
  302,  357,   -1,   -1,   -1,   -1,  308,  363,  364,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  320,   -1,
   -1,   -1,   -1,  325,  326,  327,  328,  329,  330,  331,
   -1,   -1,   -1,   -1,   -1,   -1,  392,  339,   -1,  341,
   -1,   -1,  257,  258,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   59,   -1,   -1,  357,   -1,   -1,   -1,   -1,
   -1,  363,  364,   -1,  279,  280,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  294,
  295,  296,   -1,   -1,   -1,   -1,   -1,  302,   -1,   -1,
  392,   -1,   -1,  308,   -1,   -1,  269,  270,  271,  272,
  273,  274,  275,  276,   -1,  320,   -1,   -1,   -1,   -1,
  325,  326,  327,  328,  329,  330,  331,   -1,   -1,   -1,
   59,   -1,   -1,   -1,  339,   -1,  341,   -1,   -1,   -1,
   -1,   -1,  258,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,  357,   -1,   -1,   -1,   -1,   -1,  363,  364,
   -1,   -1,  278,   -1,   -1,   -1,  282,  283,  284,  285,
  286,  287,  258,   -1,   -1,   -1,   -1,  293,   -1,   -1,
   -1,  297,   -1,  299,   -1,  301,   -1,  392,   -1,   -1,
   -1,   -1,   -1,  309,   -1,   -1,  282,  283,  284,  285,
  286,  287,   -1,   -1,   -1,   -1,   -1,  293,   -1,   -1,
   -1,  297,   -1,  299,   -1,  301,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,  309,  340,   -1,  342,   -1,   -1,   -1,
  346,   -1,   -1,   -1,  350,  351,  352,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   37,   38,  363,   -1,   41,
   42,   43,   -1,   45,  340,   47,  342,   -1,   -1,   -1,
  346,  258,   -1,   -1,  350,  351,  352,   -1,   60,  385,
   62,   63,   -1,  389,   -1,  391,   -1,  363,   -1,   -1,
   -1,  278,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,  288,  289,  290,   -1,   -1,   -1,   -1,   -1,  385,
   -1,   -1,   94,  389,   -1,  391,  303,  304,  305,  306,
  307,   -1,  309,  310,  311,  312,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,  321,  322,  323,  324,   -1,  258,
   -1,   -1,  124,   -1,   -1,  332,  333,  334,  335,  336,
  337,  338,   -1,   -1,   -1,   -1,  343,  344,  345,   -1,
   -1,   -1,   -1,  350,  351,  352,   -1,   -1,   -1,  288,
  289,  290,   37,   38,   -1,   -1,  363,   42,   43,   44,
   45,   -1,   47,   -1,  303,  304,  305,  306,  307,  376,
  309,  310,  311,  312,   -1,   60,   -1,   62,   63,   -1,
   -1,   -1,  321,  322,  323,  324,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,  332,  333,  334,  335,  336,  337,  338,
   -1,   -1,   -1,   -1,  343,  344,  345,   -1,   -1,   94,
   -1,  350,  351,  352,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   37,   38,   -1,  363,   41,   42,   43,   -1,   45,
   -1,   47,   -1,   -1,   -1,   37,   38,  376,   -1,  124,
   42,   43,   44,   45,   60,   47,   62,   63,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   60,   -1,
   62,   63,   -1,   -1,   -1,   -1,   -1,  269,  270,  271,
  272,  273,  274,  275,  276,   37,   38,   -1,   94,   -1,
   42,   43,   44,   45,   -1,   47,   -1,   -1,   -1,   37,
   38,   -1,   94,   41,   42,   43,   -1,   45,   60,   47,
   62,   63,   -1,   -1,   -1,   -1,   -1,   -1,  124,   -1,
   -1,   -1,   60,   -1,   62,   63,   -1,   -1,   -1,   -1,
   -1,   -1,  124,   -1,   -1,   37,   38,   -1,   -1,   41,
   42,   43,   94,   45,   -1,   47,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   94,   -1,   60,   -1,
   62,   63,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,  124,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,  124,   -1,   -1,   -1,
   -1,   -1,   94,   -1,  269,  270,  271,  272,  273,  274,
  275,  276,   37,   38,   -1,   -1,   -1,   42,   43,   44,
   45,   -1,   47,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,  124,   -1,   -1,   60,   -1,   62,   63,   37,
   38,   -1,   -1,   -1,   42,   43,   44,   45,   -1,   47,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   60,   -1,   62,   63,   -1,   -1,   -1,   94,
   -1,   -1,   -1,  269,  270,  271,  272,  273,  274,  275,
  276,   -1,   -1,   -1,   -1,   -1,   -1,  269,  270,  271,
  272,  273,  274,  275,  276,   -1,   94,   -1,   -1,  124,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   37,   38,   -1,   -1,   41,   42,   43,   -1,
   45,   -1,   47,   -1,   -1,   -1,  124,  269,  270,  271,
  272,  273,  274,  275,  276,   60,   -1,   62,   63,   -1,
   -1,  269,  270,  271,  272,  273,  274,  275,  276,   37,
   38,   -1,   -1,   -1,   42,   43,   44,   45,   -1,   47,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   94,
   -1,   -1,   60,   -1,   62,   63,   -1,  269,  270,  271,
  272,  273,  274,  275,  276,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   37,   38,  124,
   -1,   41,   42,   43,   -1,   45,   94,   47,   37,   38,
   -1,   -1,   -1,   42,   43,   -1,   45,   -1,   47,   -1,
   60,   -1,   62,   63,   -1,   -1,   -1,   -1,   -1,   58,
   -1,   60,   -1,   62,   63,   -1,  124,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,  269,  270,  271,  272,  273,  274,
  275,  276,   -1,   -1,   94,   -1,   37,   38,   -1,   40,
   -1,   42,   43,   -1,   45,   94,   47,   -1,   -1,   -1,
   -1,  269,  270,  271,  272,  273,  274,  275,  276,   60,
   -1,   62,   63,   -1,  124,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,  124,   -1,   -1,   -1,   -1,
   -1,   -1,   37,   38,   -1,   -1,   -1,   42,   43,   -1,
   45,   -1,   47,   94,   37,   38,   -1,   -1,   41,   42,
   43,   -1,   45,   58,   47,   60,   -1,   62,   63,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   60,   -1,   62,
   63,   -1,   -1,  124,  269,  270,  271,  272,  273,  274,
  275,  276,   37,   38,   -1,   -1,   41,   42,   43,   94,
   45,   -1,   47,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   94,   -1,   -1,   -1,   60,   -1,   62,   63,   -1,
   -1,  269,  270,  271,  272,  273,  274,  275,  276,  124,
   -1,   -1,   37,   38,   -1,   -1,   41,   42,   43,   -1,
   45,  124,   47,   -1,   -1,   -1,   -1,   -1,   -1,   94,
   -1,   -1,   -1,   -1,   -1,   60,   -1,   62,   63,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  269,
  270,  271,  272,  273,  274,  275,  276,   -1,   -1,  124,
  269,  270,  271,  272,  273,  274,  275,  276,   -1,   94,
   -1,   -1,   -1,   -1,   -1,   37,   38,   -1,   -1,   41,
   42,   43,   -1,   45,   -1,   47,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   60,  124,
   62,   63,   -1,   -1,   -1,   -1,   -1,   -1,  269,  270,
  271,  272,  273,  274,  275,  276,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   37,   38,   -1,   -1,   41,
   42,   43,   94,   45,   -1,   47,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   60,   -1,
   62,   63,   -1,   -1,  269,  270,  271,  272,  273,  274,
  275,  276,  124,   -1,   -1,   -1,  269,  270,  271,  272,
  273,  274,  275,  276,   -1,   37,   38,   -1,   -1,   41,
   42,   43,   94,   45,   -1,   47,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   60,   -1,
   62,   63,   -1,   -1,  269,  270,  271,  272,  273,  274,
  275,  276,  124,   37,   38,   -1,   -1,   41,   42,   43,
   -1,   45,   -1,   47,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   94,   -1,   -1,   -1,   60,   -1,   62,   63,
   -1,   -1,   -1,   -1,  269,  270,  271,  272,  273,  274,
  275,  276,   -1,   -1,   -1,   -1,   -1,   -1,   37,   38,
   -1,   -1,  124,   42,   43,   44,   45,   -1,   47,   -1,
   94,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   60,   -1,   62,   63,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   37,   38,   -1,   -1,   41,   42,   43,
  124,   45,   -1,   47,   -1,   -1,   -1,  269,  270,  271,
  272,  273,  274,  275,  276,   94,   60,   -1,   62,   63,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   37,   38,
   -1,   -1,   41,   42,   43,   -1,   45,   -1,   47,   -1,
   -1,   -1,   -1,   -1,   -1,  124,   -1,   -1,   -1,   -1,
   94,   60,   -1,   62,   63,   -1,   -1,  269,  270,  271,
  272,  273,  274,  275,  276,   -1,   37,   38,   -1,   -1,
   41,   42,   43,   -1,   45,   -1,   47,   -1,   37,   38,
  124,   -1,   41,   42,   43,   94,   45,   -1,   47,   60,
   -1,   62,   63,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   60,   -1,   62,   63,   -1,   -1,  269,  270,  271,
  272,  273,  274,  275,  276,  124,   37,   38,   -1,   -1,
   41,   42,   43,   94,   45,   -1,   47,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   94,   -1,   -1,   -1,   60,
   -1,   62,   63,   -1,   -1,  269,  270,  271,  272,  273,
  274,  275,  276,  124,   37,   38,   -1,   -1,   41,   42,
   43,   -1,   45,   -1,   47,  124,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   94,   -1,   -1,   -1,   60,   -1,   62,
   63,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  269,  270,  271,  272,  273,  274,  275,  276,   -1,   -1,
   -1,   -1,   -1,  124,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   94,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,  269,  270,  271,  272,  273,
  274,  275,  276,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,  124,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   37,
   38,   -1,   -1,   41,   42,   43,   -1,   45,   -1,   47,
  269,  270,  271,  272,  273,  274,  275,  276,   -1,   -1,
   -1,   -1,   60,   -1,   62,   63,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  269,  270,
  271,  272,  273,  274,  275,  276,   94,   -1,   -1,   -1,
  269,  270,  271,  272,  273,  274,  275,  276,   37,   38,
   -1,   -1,   -1,   42,   43,  258,   45,   -1,   47,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,  124,   -1,   -1,   -1,
   -1,   60,   -1,   62,   63,  278,  279,   -1,  269,  270,
  271,  272,  273,  274,  275,  276,  258,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   94,  309,  279,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,  269,  270,  271,  272,
  273,  274,  275,  276,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,  124,   -1,  309,   -1,   -1,
   -1,   -1,   -1,   -1,  347,   -1,   -1,   -1,   -1,   -1,
   -1,  354,  355,  356,  357,  358,   -1,  360,  361,  362,
   -1,   -1,  365,  366,   -1,  368,  369,  370,   -1,   -1,
   -1,   -1,  375,  376,  377,  347,   -1,   -1,   -1,   -1,
   -1,   -1,  354,  355,  356,  357,  358,   -1,  360,  361,
  362,   -1,   -1,  365,  366,   -1,  368,  369,  370,   -1,
   -1,   -1,   -1,  375,  376,  377,   -1,   -1,   -1,   -1,
   -1,  269,  270,  271,  272,  273,  274,  275,  276,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
  269,  270,  271,  272,  273,  274,  275,  276,
};
#if YYBTYACC
static const YYINT yyctable[] = {                        -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   -1,   -1,   -1,   -1,   -1,   -1,   -1,
};
#endif
#define YYFINAL 7
#ifndef YYDEBUG
#define YYDEBUG 0
#endif
#define YYMAXTOKEN 393
#define YYUNDFTOKEN 535
#define YYTRANSLATE(a) ((a) > YYMAXTOKEN ? YYUNDFTOKEN : (a))
#if YYDEBUG
#ifndef NULL
#define NULL (void*)0
#endif
static const char *const yyname[] = {

"$end",NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,
NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,
NULL,NULL,"'!'",NULL,NULL,NULL,"'%'","'&'",NULL,"'('","')'","'*'","'+'","','",
"'-'",NULL,"'/'",NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,"':'","';'",
"'<'","'='","'>'","'?'",NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,
NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,
"'['",NULL,"']'","'^'",NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,
NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,
NULL,"'{'","'|'","'}'","'~'",NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,
NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,
NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,
NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,
NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,
NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,
NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,
NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,
NULL,NULL,NULL,NULL,NULL,NULL,NULL,"error","INT","NAME","LNAME","PLUSEQ",
"MINUSEQ","MULTEQ","DIVEQ","LSHIFTEQ","RSHIFTEQ","ANDEQ","OREQ","XOREQ","OROR",
"ANDAND","EQ","NE","LE","GE","LSHIFT","RSHIFT","UNARY","END","ALIGN_K","BLOCK",
"BIND","QUAD","SQUAD","LONG","SHORT","BYTE","ASCIZ","SECTIONS","PHDRS",
"INSERT_K","AFTER","BEFORE","LINKER_VERSION","DATA_SEGMENT_ALIGN",
"DATA_SEGMENT_RELRO_END","DATA_SEGMENT_END","SORT_BY_NAME","SORT_BY_ALIGNMENT",
"SORT_NONE","SORT_BY_INIT_PRIORITY","REVERSE","SIZEOF_HEADERS","OUTPUT_FORMAT",
"FORCE_COMMON_ALLOCATION","OUTPUT_ARCH","INHIBIT_COMMON_ALLOCATION",
"FORCE_GROUP_ALLOCATION","SEGMENT_START","INCLUDE","MEMORY","REGION_ALIAS",
"LD_FEATURE","NOLOAD","DSECT","COPY","INFO","OVERLAY","READONLY","TYPE",
"DEFINED","TARGET_K","SEARCH_DIR","MAP","ENTRY","NEXT","SIZEOF","ALIGNOF",
"ADDR","LOADADDR","MAX_K","MIN_K","STARTUP","HLL","SYSLIB","FLOAT","NOFLOAT",
"NOCROSSREFS","NOCROSSREFS_TO","ORIGIN","FILL","LENGTH","CREATE_OBJECT_SYMBOLS",
"INPUT","GROUP","OUTPUT","CONSTRUCTORS","ALIGNMOD","AT","SUBALIGN","HIDDEN",
"PROVIDE","PROVIDE_HIDDEN","AS_NEEDED","CHIP","LIST","SECT","ABSOLUTE","LOAD",
"NEWLINE","ENDWORD","ORDER","NAMEWORD","ASSERT_K","LOG2CEIL","FORMAT","PUBLIC",
"DEFSYMEND","BASE","ALIAS","TRUNCATE","REL","INPUT_SCRIPT","INPUT_MRI_SCRIPT",
"INPUT_DEFSYM","CASE","EXTERN","START","VERS_TAG","VERS_IDENTIFIER","GLOBAL",
"LOCAL","VERSIONK","INPUT_VERSION_SCRIPT","INPUT_SECTION_ORDERING_SCRIPT",
"KEEP","ONLY_IF_RO","ONLY_IF_RW","SPECIAL","INPUT_SECTION_FLAGS",
"ALIGN_WITH_INPUT","EXCLUDE_FILE","CONSTANT","INPUT_DYNAMIC_LIST","$accept",
"file","exp","opt_exp_with_type","mustbe_exp","opt_at","phdr_type","phdr_val",
"opt_exp_without_type","opt_subalign","opt_align","fill_opt","fill_exp",
"exclude_name_list","section_name_list","sect_flag_list","sect_flags",
"memspec_opt","memspec_at_opt","paren_script_name","casesymlist",
"wildcard_name","section_name_spec","filename_spec","wildcard_maybe_exclude",
"wildcard_maybe_reverse","length","phdr_qualifiers","nocrossref_list",
"phdr_opt","opt_nocrossrefs","assign_op","atype","attributes_opt",
"sect_constraint","opt_align_with_input","filename","vers_defns","vers_tag",
"verdep","script_file","mri_script_file","version_script_file",
"section_ordering_script_file","dynamic_list_file","defsym_expr","assignment",
"$$1","mri_script_lines","$$2","mri_script_command","ordernamelist",
"mri_abs_name_list","mri_load_name_list","extern_name_list","$$3","ifile_list",
"$$4","ifile_p1","memory","sections","phdrs","startup","high_level_library",
"low_level_library","floating_point_support","statement_anywhere","version",
"input_list","$$5","$$6","$$7","input_list1","$$8","$$9","$$10","$$11",
"sec_or_group_p1","section","separator","$$12","opt_comma",
"input_section_spec_no_keep","input_section_spec","$$13","statement","$$14",
"statement_list_opt","$$15","statement_list","memory_spec_list_opt",
"memory_spec_list","memory_spec","$$16","origin_spec","length_spec","$$17",
"attributes_list","attributes_string","high_level_library_NAME_list",
"low_level_library_NAME_list","$$18","$$19","$$20","$$21","$$22","$$23","$$24",
"$$25","$$26","$$27","overlay_section","$$28","$$29","$$30","$$31","$$32",
"type","$$33","$$34","$$35","phdr_list","phdr","$$36","$$37",
"dynamic_list_nodes","$$38","dynamic_list_node","dynamic_list_tag","vers_nodes",
"$$39","$$40","vers_node","$$41","opt_semicolon","$$42","section_ordering_list",
"$$43","section_order","$$44","$$45","illegal-symbol",
};
static const char *const yyrule[] = {
"$accept : file",
"file : INPUT_SCRIPT script_file",
"file : INPUT_MRI_SCRIPT mri_script_file",
"file : INPUT_VERSION_SCRIPT version_script_file",
"file : INPUT_SECTION_ORDERING_SCRIPT section_ordering_script_file",
"file : INPUT_DYNAMIC_LIST dynamic_list_file",
"file : INPUT_DEFSYM defsym_expr",
"filename : NAME",
"$$1 :",
"defsym_expr : $$1 assignment",
"$$2 :",
"mri_script_file : $$2 mri_script_lines",
"mri_script_lines : mri_script_lines mri_script_command NEWLINE",
"mri_script_lines :",
"mri_script_command : CHIP exp",
"mri_script_command : CHIP exp ',' exp",
"mri_script_command : NAME",
"mri_script_command : LIST",
"mri_script_command : ORDER ordernamelist",
"mri_script_command : ENDWORD",
"mri_script_command : PUBLIC NAME '=' exp",
"mri_script_command : PUBLIC NAME ',' exp",
"mri_script_command : PUBLIC NAME exp",
"mri_script_command : FORMAT NAME",
"mri_script_command : SECT NAME ',' exp",
"mri_script_command : SECT NAME exp",
"mri_script_command : SECT NAME '=' exp",
"mri_script_command : ALIGN_K NAME '=' exp",
"mri_script_command : ALIGN_K NAME ',' exp",
"mri_script_command : ALIGNMOD NAME '=' exp",
"mri_script_command : ALIGNMOD NAME ',' exp",
"mri_script_command : ABSOLUTE mri_abs_name_list",
"mri_script_command : LOAD mri_load_name_list",
"mri_script_command : NAMEWORD NAME",
"mri_script_command : ALIAS NAME ',' NAME",
"mri_script_command : ALIAS NAME ',' INT",
"mri_script_command : BASE exp",
"mri_script_command : TRUNCATE INT",
"mri_script_command : CASE casesymlist",
"mri_script_command : EXTERN extern_name_list",
"$$3 :",
"mri_script_command : INCLUDE filename $$3 mri_script_lines END",
"mri_script_command : START NAME",
"mri_script_command :",
"ordernamelist : ordernamelist ',' NAME",
"ordernamelist : ordernamelist NAME",
"ordernamelist :",
"mri_load_name_list : NAME",
"mri_load_name_list : mri_load_name_list ',' NAME",
"mri_abs_name_list : NAME",
"mri_abs_name_list : mri_abs_name_list ',' NAME",
"casesymlist :",
"casesymlist : NAME",
"casesymlist : casesymlist ',' NAME",
"extern_name_list : NAME",
"extern_name_list : extern_name_list NAME",
"extern_name_list : extern_name_list ',' NAME",
"$$4 :",
"script_file : $$4 ifile_list",
"ifile_list : ifile_list ifile_p1",
"ifile_list :",
"ifile_p1 : memory",
"ifile_p1 : sections",
"ifile_p1 : phdrs",
"ifile_p1 : startup",
"ifile_p1 : high_level_library",
"ifile_p1 : low_level_library",
"ifile_p1 : floating_point_support",
"ifile_p1 : statement_anywhere",
"ifile_p1 : version",
"ifile_p1 : ';'",
"ifile_p1 : TARGET_K '(' NAME ')'",
"ifile_p1 : SEARCH_DIR '(' filename ')'",
"ifile_p1 : OUTPUT '(' filename ')'",
"ifile_p1 : OUTPUT_FORMAT '(' NAME ')'",
"ifile_p1 : OUTPUT_FORMAT '(' NAME ',' NAME ',' NAME ')'",
"ifile_p1 : OUTPUT_ARCH '(' NAME ')'",
"ifile_p1 : FORCE_COMMON_ALLOCATION",
"ifile_p1 : FORCE_GROUP_ALLOCATION",
"ifile_p1 : INHIBIT_COMMON_ALLOCATION",
"ifile_p1 : INPUT '(' input_list ')'",
"$$5 :",
"ifile_p1 : GROUP $$5 '(' input_list ')'",
"ifile_p1 : MAP '(' filename ')'",
"$$6 :",
"ifile_p1 : INCLUDE filename $$6 ifile_list END",
"ifile_p1 : NOCROSSREFS '(' nocrossref_list ')'",
"ifile_p1 : NOCROSSREFS_TO '(' nocrossref_list ')'",
"$$7 :",
"ifile_p1 : EXTERN '(' $$7 extern_name_list ')'",
"ifile_p1 : INSERT_K AFTER NAME",
"ifile_p1 : INSERT_K BEFORE NAME",
"ifile_p1 : REGION_ALIAS '(' NAME ',' NAME ')'",
"ifile_p1 : LD_FEATURE '(' NAME ')'",
"$$8 :",
"input_list : $$8 input_list1",
"input_list1 : NAME",
"input_list1 : input_list1 ',' NAME",
"input_list1 : input_list1 NAME",
"input_list1 : LNAME",
"input_list1 : input_list1 ',' LNAME",
"input_list1 : input_list1 LNAME",
"$$9 :",
"input_list1 : AS_NEEDED '(' $$9 input_list1 ')'",
"$$10 :",
"input_list1 : input_list1 ',' AS_NEEDED '(' $$10 input_list1 ')'",
"$$11 :",
"input_list1 : input_list1 AS_NEEDED '(' $$11 input_list1 ')'",
"sections : SECTIONS '{' sec_or_group_p1 '}'",
"sec_or_group_p1 : sec_or_group_p1 section",
"sec_or_group_p1 : sec_or_group_p1 statement_anywhere",
"sec_or_group_p1 :",
"statement_anywhere : ENTRY '(' NAME ')'",
"statement_anywhere : assignment separator",
"$$12 :",
"statement_anywhere : ASSERT_K $$12 '(' exp ',' NAME ')'",
"wildcard_name : NAME",
"wildcard_maybe_exclude : wildcard_name",
"wildcard_maybe_exclude : EXCLUDE_FILE '(' exclude_name_list ')' wildcard_name",
"wildcard_maybe_reverse : wildcard_maybe_exclude",
"wildcard_maybe_reverse : REVERSE '(' wildcard_maybe_exclude ')'",
"filename_spec : wildcard_maybe_reverse",
"filename_spec : SORT_BY_NAME '(' wildcard_maybe_reverse ')'",
"filename_spec : SORT_NONE '(' wildcard_maybe_reverse ')'",
"filename_spec : REVERSE '(' SORT_BY_NAME '(' wildcard_maybe_exclude ')' ')'",
"section_name_spec : wildcard_maybe_reverse",
"section_name_spec : SORT_BY_NAME '(' wildcard_maybe_reverse ')'",
"section_name_spec : SORT_BY_ALIGNMENT '(' wildcard_maybe_reverse ')'",
"section_name_spec : SORT_NONE '(' wildcard_maybe_reverse ')'",
"section_name_spec : SORT_BY_NAME '(' SORT_BY_ALIGNMENT '(' wildcard_maybe_reverse ')' ')'",
"section_name_spec : SORT_BY_NAME '(' SORT_BY_NAME '(' wildcard_maybe_reverse ')' ')'",
"section_name_spec : SORT_BY_ALIGNMENT '(' SORT_BY_NAME '(' wildcard_maybe_reverse ')' ')'",
"section_name_spec : SORT_BY_ALIGNMENT '(' SORT_BY_ALIGNMENT '(' wildcard_maybe_reverse ')' ')'",
"section_name_spec : SORT_BY_INIT_PRIORITY '(' wildcard_maybe_reverse ')'",
"section_name_spec : REVERSE '(' SORT_BY_NAME '(' wildcard_maybe_exclude ')' ')'",
"section_name_spec : REVERSE '(' SORT_BY_INIT_PRIORITY '(' wildcard_maybe_exclude ')' ')'",
"sect_flag_list : NAME",
"sect_flag_list : sect_flag_list '&' NAME",
"sect_flags : INPUT_SECTION_FLAGS '(' sect_flag_list ')'",
"exclude_name_list : exclude_name_list wildcard_name",
"exclude_name_list : wildcard_name",
"section_name_list : section_name_list opt_comma section_name_spec",
"section_name_list : section_name_spec",
"input_section_spec_no_keep : NAME",
"input_section_spec_no_keep : sect_flags NAME",
"input_section_spec_no_keep : '[' section_name_list ']'",
"input_section_spec_no_keep : sect_flags '[' section_name_list ']'",
"input_section_spec_no_keep : filename_spec '(' section_name_list ')'",
"input_section_spec_no_keep : sect_flags filename_spec '(' section_name_list ')'",
"input_section_spec : input_section_spec_no_keep",
"$$13 :",
"input_section_spec : KEEP '(' $$13 input_section_spec_no_keep ')'",
"statement : ';'",
"statement : assignment separator",
"statement : CREATE_OBJECT_SYMBOLS",
"statement : CONSTRUCTORS",
"statement : SORT_BY_NAME '(' CONSTRUCTORS ')'",
"statement : input_section_spec",
"statement : length '(' mustbe_exp ')'",
"statement : ASCIZ NAME",
"statement : FILL '(' fill_exp ')'",
"statement : LINKER_VERSION",
"$$14 :",
"statement : ASSERT_K $$14 '(' exp ',' NAME ')' separator",
"$$15 :",
"statement : INCLUDE filename $$15 statement_list_opt END",
"statement_list : statement_list statement",
"statement_list : statement",
"statement_list_opt :",
"statement_list_opt : statement_list",
"length : QUAD",
"length : SQUAD",
"length : LONG",
"length : SHORT",
"length : BYTE",
"fill_exp : mustbe_exp",
"fill_opt : '=' fill_exp",
"fill_opt :",
"assign_op : PLUSEQ",
"assign_op : MINUSEQ",
"assign_op : MULTEQ",
"assign_op : DIVEQ",
"assign_op : LSHIFTEQ",
"assign_op : RSHIFTEQ",
"assign_op : ANDEQ",
"assign_op : OREQ",
"assign_op : XOREQ",
"separator : ';'",
"separator : ','",
"assignment : NAME '=' mustbe_exp",
"assignment : NAME assign_op mustbe_exp",
"assignment : HIDDEN '(' NAME '=' mustbe_exp ')'",
"assignment : PROVIDE '(' NAME '=' mustbe_exp ')'",
"assignment : PROVIDE_HIDDEN '(' NAME '=' mustbe_exp ')'",
"opt_comma : ','",
"opt_comma :",
"memory : MEMORY '{' memory_spec_list_opt '}'",
"memory_spec_list_opt : memory_spec_list",
"memory_spec_list_opt :",
"memory_spec_list : memory_spec_list opt_comma memory_spec",
"memory_spec_list : memory_spec",
"$$16 :",
"memory_spec : NAME $$16 attributes_opt ':' origin_spec opt_comma length_spec",
"$$17 :",
"memory_spec : INCLUDE filename $$17 memory_spec_list_opt END",
"origin_spec : ORIGIN '=' mustbe_exp",
"length_spec : LENGTH '=' mustbe_exp",
"attributes_opt :",
"attributes_opt : '(' attributes_list ')'",
"attributes_list : attributes_string",
"attributes_list : attributes_list attributes_string",
"attributes_string : NAME",
"attributes_string : '!' NAME",
"startup : STARTUP '(' filename ')'",
"high_level_library : HLL '(' high_level_library_NAME_list ')'",
"high_level_library : HLL '(' ')'",
"high_level_library_NAME_list : high_level_library_NAME_list opt_comma filename",
"high_level_library_NAME_list : filename",
"low_level_library : SYSLIB '(' low_level_library_NAME_list ')'",
"low_level_library_NAME_list : low_level_library_NAME_list opt_comma filename",
"low_level_library_NAME_list :",
"floating_point_support : FLOAT",
"floating_point_support : NOFLOAT",
"nocrossref_list :",
"nocrossref_list : NAME nocrossref_list",
"nocrossref_list : NAME ',' nocrossref_list",
"$$18 :",
"paren_script_name : $$18 '(' NAME ')'",
"$$19 :",
"mustbe_exp : $$19 exp",
"exp : '-' exp",
"exp : '(' exp ')'",
"exp : NEXT '(' exp ')'",
"exp : '!' exp",
"exp : '+' exp",
"exp : '~' exp",
"exp : exp '*' exp",
"exp : exp '/' exp",
"exp : exp '%' exp",
"exp : exp '+' exp",
"exp : exp '-' exp",
"exp : exp LSHIFT exp",
"exp : exp RSHIFT exp",
"exp : exp EQ exp",
"exp : exp NE exp",
"exp : exp LE exp",
"exp : exp GE exp",
"exp : exp '<' exp",
"exp : exp '>' exp",
"exp : exp '&' exp",
"exp : exp '^' exp",
"exp : exp '|' exp",
"exp : exp '?' exp ':' exp",
"exp : exp ANDAND exp",
"exp : exp OROR exp",
"exp : DEFINED '(' NAME ')'",
"exp : INT",
"exp : SIZEOF_HEADERS",
"exp : ALIGNOF paren_script_name",
"exp : SIZEOF paren_script_name",
"exp : ADDR paren_script_name",
"exp : LOADADDR paren_script_name",
"exp : CONSTANT '(' NAME ')'",
"exp : ABSOLUTE '(' exp ')'",
"exp : ALIGN_K '(' exp ')'",
"exp : ALIGN_K '(' exp ',' exp ')'",
"exp : DATA_SEGMENT_ALIGN '(' exp ',' exp ')'",
"exp : DATA_SEGMENT_RELRO_END '(' exp ',' exp ')'",
"exp : DATA_SEGMENT_END '(' exp ')'",
"$$20 :",
"$$21 :",
"exp : SEGMENT_START $$20 '(' NAME $$21 ',' exp ')'",
"exp : BLOCK '(' exp ')'",
"exp : NAME",
"exp : MAX_K '(' exp ',' exp ')'",
"exp : MIN_K '(' exp ',' exp ')'",
"exp : ASSERT_K '(' exp ',' NAME ')'",
"exp : ORIGIN paren_script_name",
"exp : LENGTH paren_script_name",
"exp : LOG2CEIL '(' exp ')'",
"memspec_at_opt : AT '>' NAME",
"memspec_at_opt :",
"opt_at : AT '(' exp ')'",
"opt_at :",
"opt_align : ALIGN_K '(' exp ')'",
"opt_align :",
"opt_align_with_input : ALIGN_WITH_INPUT",
"opt_align_with_input :",
"opt_subalign : SUBALIGN '(' exp ')'",
"opt_subalign :",
"sect_constraint : ONLY_IF_RO",
"sect_constraint : ONLY_IF_RW",
"sect_constraint : SPECIAL",
"sect_constraint :",
"$$22 :",
"$$23 :",
"$$24 :",
"$$25 :",
"section : NAME $$22 opt_exp_with_type opt_at opt_align opt_align_with_input opt_subalign sect_constraint $$23 '{' statement_list_opt '}' $$24 memspec_opt memspec_at_opt phdr_opt fill_opt $$25 opt_comma",
"$$26 :",
"$$27 :",
"$$28 :",
"$$29 :",
"section : OVERLAY $$26 opt_exp_without_type opt_nocrossrefs opt_at opt_subalign $$27 '{' $$28 overlay_section '}' memspec_opt memspec_at_opt phdr_opt fill_opt $$29 opt_comma",
"$$30 :",
"$$31 :",
"section : GROUP $$30 opt_exp_with_type $$31 '{' sec_or_group_p1 '}'",
"$$32 :",
"section : INCLUDE filename $$32 sec_or_group_p1 END",
"type : NOLOAD",
"type : DSECT",
"type : COPY",
"type : INFO",
"type : OVERLAY",
"type : READONLY '(' TYPE '=' exp ')'",
"type : READONLY",
"type : TYPE '=' exp",
"atype : '(' type ')'",
"atype :",
"atype : '(' ')'",
"opt_exp_with_type : exp atype ':'",
"opt_exp_with_type : atype ':'",
"opt_exp_with_type : BIND '(' exp ')' atype ':'",
"opt_exp_with_type : BIND '(' exp ')' BLOCK '(' exp ')' atype ':'",
"opt_exp_without_type : exp ':'",
"opt_exp_without_type : ':'",
"opt_nocrossrefs :",
"opt_nocrossrefs : NOCROSSREFS",
"memspec_opt : '>' NAME",
"memspec_opt :",
"phdr_opt :",
"phdr_opt : phdr_opt ':' NAME",
"overlay_section :",
"$$33 :",
"$$34 :",
"$$35 :",
"overlay_section : overlay_section NAME $$33 '{' statement_list_opt '}' $$34 phdr_opt fill_opt $$35 opt_comma",
"phdrs : PHDRS '{' phdr_list '}'",
"phdr_list :",
"phdr_list : phdr_list phdr",
"$$36 :",
"$$37 :",
"phdr : NAME $$36 phdr_type phdr_qualifiers $$37 ';'",
"phdr_type : exp",
"phdr_qualifiers :",
"phdr_qualifiers : NAME phdr_val phdr_qualifiers",
"phdr_qualifiers : AT '(' exp ')' phdr_qualifiers",
"phdr_val :",
"phdr_val : '(' exp ')'",
"$$38 :",
"dynamic_list_file : $$38 dynamic_list_nodes",
"dynamic_list_nodes : dynamic_list_node",
"dynamic_list_nodes : dynamic_list_nodes dynamic_list_node",
"dynamic_list_node : '{' dynamic_list_tag '}' ';'",
"dynamic_list_tag : vers_defns ';'",
"$$39 :",
"version_script_file : $$39 vers_nodes",
"$$40 :",
"version : $$40 VERSIONK '{' vers_nodes '}'",
"vers_nodes : vers_node",
"vers_nodes : vers_nodes vers_node",
"vers_node : '{' vers_tag '}' ';'",
"vers_node : VERS_TAG '{' vers_tag '}' ';'",
"vers_node : VERS_TAG '{' vers_tag '}' verdep ';'",
"verdep : VERS_TAG",
"verdep : verdep VERS_TAG",
"vers_tag :",
"vers_tag : vers_defns ';'",
"vers_tag : GLOBAL ':' vers_defns ';'",
"vers_tag : LOCAL ':' vers_defns ';'",
"vers_tag : GLOBAL ':' vers_defns ';' LOCAL ':' vers_defns ';'",
"vers_defns : VERS_IDENTIFIER",
"vers_defns : NAME",
"vers_defns : vers_defns ';' VERS_IDENTIFIER",
"vers_defns : vers_defns ';' NAME",
"$$41 :",
"vers_defns : vers_defns ';' EXTERN NAME '{' $$41 vers_defns opt_semicolon '}'",
"$$42 :",
"vers_defns : EXTERN NAME '{' $$42 vers_defns opt_semicolon '}'",
"vers_defns : GLOBAL",
"vers_defns : vers_defns ';' GLOBAL",
"vers_defns : LOCAL",
"vers_defns : vers_defns ';' LOCAL",
"vers_defns : EXTERN",
"vers_defns : vers_defns ';' EXTERN",
"opt_semicolon :",
"opt_semicolon : ';'",
"$$43 :",
"section_ordering_script_file : $$43 section_ordering_list",
"section_ordering_list : section_ordering_list section_order",
"section_ordering_list : section_ordering_list statement_anywhere",
"section_ordering_list :",
"$$44 :",
"$$45 :",
"section_order : NAME ':' $$44 '{' statement_list_opt '}' $$45 opt_comma",

};
#endif

#if YYDEBUG
int      yydebug;
#endif

int      yyerrflag;
int      yychar;
YYSTYPE  yyval;
YYSTYPE  yylval;
int      yynerrs;

#if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED)
YYLTYPE  yyloc; /* position returned by actions */
YYLTYPE  yylloc; /* position from the lexer */
#endif

#if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED)
#ifndef YYLLOC_DEFAULT
#define YYLLOC_DEFAULT(loc, rhs, n) \
do \
{ \
    if (n == 0) \
    { \
        (loc).first_line   = YYRHSLOC(rhs, 0).last_line; \
        (loc).first_column = YYRHSLOC(rhs, 0).last_column; \
        (loc).last_line    = YYRHSLOC(rhs, 0).last_line; \
        (loc).last_column  = YYRHSLOC(rhs, 0).last_column; \
    } \
    else \
    { \
        (loc).first_line   = YYRHSLOC(rhs, 1).first_line; \
        (loc).first_column = YYRHSLOC(rhs, 1).first_column; \
        (loc).last_line    = YYRHSLOC(rhs, n).last_line; \
        (loc).last_column  = YYRHSLOC(rhs, n).last_column; \
    } \
} while (0)
#endif /* YYLLOC_DEFAULT */
#endif /* defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED) */
#if YYBTYACC

#ifndef YYLVQUEUEGROWTH
#define YYLVQUEUEGROWTH 32
#endif
#endif /* YYBTYACC */

/* define the initial stack-sizes */
#ifdef YYSTACKSIZE
#undef YYMAXDEPTH
#define YYMAXDEPTH  YYSTACKSIZE
#else
#ifdef YYMAXDEPTH
#define YYSTACKSIZE YYMAXDEPTH
#else
#define YYSTACKSIZE 10000
#define YYMAXDEPTH  10000
#endif
#endif

#ifndef YYINITSTACKSIZE
#define YYINITSTACKSIZE 200
#endif

typedef struct {
    unsigned stacksize;
    YYINT    *s_base;
    YYINT    *s_mark;
    YYINT    *s_last;
    YYSTYPE  *l_base;
    YYSTYPE  *l_mark;
#if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED)
    YYLTYPE  *p_base;
    YYLTYPE  *p_mark;
#endif
} YYSTACKDATA;
#if YYBTYACC

struct YYParseState_s
{
    struct YYParseState_s *save;    /* Previously saved parser state */
    YYSTACKDATA            yystack; /* saved parser stack */
    int                    state;   /* saved parser state */
    int                    errflag; /* saved error recovery status */
    int                    lexeme;  /* saved index of the conflict lexeme in the lexical queue */
    YYINT                  ctry;    /* saved index in yyctable[] for this conflict */
};
typedef struct YYParseState_s YYParseState;
#endif /* YYBTYACC */
/* variables for the parser stack */
static YYSTACKDATA yystack;
#if YYBTYACC

/* Current parser state */
static YYParseState *yyps = NULL;

/* yypath != NULL: do the full parse, starting at *yypath parser state. */
static YYParseState *yypath = NULL;

/* Base of the lexical value queue */
static YYSTYPE *yylvals = NULL;

/* Current position at lexical value queue */
static YYSTYPE *yylvp = NULL;

/* End position of lexical value queue */
static YYSTYPE *yylve = NULL;

/* The last allocated position at the lexical value queue */
static YYSTYPE *yylvlim = NULL;

#if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED)
/* Base of the lexical position queue */
static YYLTYPE *yylpsns = NULL;

/* Current position at lexical position queue */
static YYLTYPE *yylpp = NULL;

/* End position of lexical position queue */
static YYLTYPE *yylpe = NULL;

/* The last allocated position at the lexical position queue */
static YYLTYPE *yylplim = NULL;
#endif

/* Current position at lexical token queue */
static YYINT  *yylexp = NULL;

static YYINT  *yylexemes = NULL;
#endif /* YYBTYACC */
#line 1576 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
static void
yyerror (const char *arg)
{
  if (ldfile_assumed_script)
    einfo (_("%P:%s: file format not recognized; treating as linker script\n"),
	   ldlex_filename ());
  if (error_index > 0 && error_index < ERROR_NAME_MAX)
    fatal (_("%P:%pS: %s in %s\n"), NULL, arg, error_names[error_index - 1]);
  else
    fatal ("%P:%pS: %s\n", NULL, arg);
}
#line 2681 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"

/* For use in generated program */
#define yydepth (int)(yystack.s_mark - yystack.s_base)
#if YYBTYACC
#define yytrial (yyps->save)
#endif /* YYBTYACC */

#if YYDEBUG
#include <stdio.h>	/* needed for printf */
#endif

#include <stdlib.h>	/* needed for malloc, etc */
#include <string.h>	/* needed for memset */

/* allocate initial stack or double stack size, up to YYMAXDEPTH */
static int yygrowstack(YYSTACKDATA *data)
{
    int i;
    unsigned newsize;
    YYINT *newss;
    YYSTYPE *newvs;
#if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED)
    YYLTYPE *newps;
#endif

    if ((newsize = data->stacksize) == 0)
        newsize = YYINITSTACKSIZE;
    else if (newsize >= YYMAXDEPTH)
        return YYENOMEM;
    else if ((newsize *= 2) > YYMAXDEPTH)
        newsize = YYMAXDEPTH;

    i = (int) (data->s_mark - data->s_base);
    newss = (YYINT *)realloc(data->s_base, newsize * sizeof(*newss));
    if (newss == NULL)
        return YYENOMEM;

    data->s_base = newss;
    data->s_mark = newss + i;

    newvs = (YYSTYPE *)realloc(data->l_base, newsize * sizeof(*newvs));
    if (newvs == NULL)
        return YYENOMEM;

    data->l_base = newvs;
    data->l_mark = newvs + i;

#if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED)
    newps = (YYLTYPE *)realloc(data->p_base, newsize * sizeof(*newps));
    if (newps == NULL)
        return YYENOMEM;

    data->p_base = newps;
    data->p_mark = newps + i;
#endif

    data->stacksize = newsize;
    data->s_last = data->s_base + newsize - 1;

#if YYDEBUG
    if (yydebug)
        fprintf(stderr, "%sdebug: stack size increased to %d\n", YYPREFIX, newsize);
#endif
    return 0;
}

#if YYPURE || defined(YY_NO_LEAKS)
static void yyfreestack(YYSTACKDATA *data)
{
    free(data->s_base);
    free(data->l_base);
#if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED)
    free(data->p_base);
#endif
    memset(data, 0, sizeof(*data));
}
#else
#define yyfreestack(data) /* nothing */
#endif /* YYPURE || defined(YY_NO_LEAKS) */
#if YYBTYACC

static YYParseState *
yyNewState(unsigned size)
{
    YYParseState *p = (YYParseState *) malloc(sizeof(YYParseState));
    if (p == NULL) return NULL;

    p->yystack.stacksize = size;
    if (size == 0)
    {
        p->yystack.s_base = NULL;
        p->yystack.l_base = NULL;
#if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED)
        p->yystack.p_base = NULL;
#endif
        return p;
    }
    p->yystack.s_base    = (YYINT *) malloc(size * sizeof(YYINT));
    if (p->yystack.s_base == NULL) return NULL;
    p->yystack.l_base    = (YYSTYPE *) malloc(size * sizeof(YYSTYPE));
    if (p->yystack.l_base == NULL) return NULL;
    memset(p->yystack.l_base, 0, size * sizeof(YYSTYPE));
#if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED)
    p->yystack.p_base    = (YYLTYPE *) malloc(size * sizeof(YYLTYPE));
    if (p->yystack.p_base == NULL) return NULL;
    memset(p->yystack.p_base, 0, size * sizeof(YYLTYPE));
#endif

    return p;
}

static void
yyFreeState(YYParseState *p)
{
    yyfreestack(&p->yystack);
    free(p);
}
#endif /* YYBTYACC */

#define YYABORT  goto yyabort
#define YYREJECT goto yyabort
#define YYACCEPT goto yyaccept
#define YYERROR  goto yyerrlab
#if YYBTYACC
#define YYVALID        do { if (yyps->save)            goto yyvalid; } while(0)
#define YYVALID_NESTED do { if (yyps->save && \
                                yyps->save->save == 0) goto yyvalid; } while(0)
#endif /* YYBTYACC */

int
YYPARSE_DECL()
{
    int yym, yyn, yystate, yyresult;
#if YYBTYACC
    int yynewerrflag;
    YYParseState *yyerrctx = NULL;
#endif /* YYBTYACC */
#if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED)
    YYLTYPE  yyerror_loc_range[3]; /* position of error start/end (0 unused) */
#endif
#if YYDEBUG
    const char *yys;

    if ((yys = getenv("YYDEBUG")) != NULL)
    {
        yyn = *yys;
        if (yyn >= '0' && yyn <= '9')
            yydebug = yyn - '0';
    }
    if (yydebug)
        fprintf(stderr, "%sdebug[<# of symbols on state stack>]\n", YYPREFIX);
#endif
#if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED)
    memset(yyerror_loc_range, 0, sizeof(yyerror_loc_range));
#endif

#if YYBTYACC
    yyps = yyNewState(0); if (yyps == NULL) goto yyenomem;
    yyps->save = NULL;
#endif /* YYBTYACC */
    yym = 0;
    /* yyn is set below */
    yynerrs = 0;
    yyerrflag = 0;
    yychar = YYEMPTY;
    yystate = 0;

#if YYPURE
    memset(&yystack, 0, sizeof(yystack));
#endif

    if (yystack.s_base == NULL && yygrowstack(&yystack) == YYENOMEM) goto yyoverflow;
    yystack.s_mark = yystack.s_base;
    yystack.l_mark = yystack.l_base;
#if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED)
    yystack.p_mark = yystack.p_base;
#endif
    yystate = 0;
    *yystack.s_mark = 0;

yyloop:
    if ((yyn = yydefred[yystate]) != 0) goto yyreduce;
    if (yychar < 0)
    {
#if YYBTYACC
        do {
        if (yylvp < yylve)
        {
            /* we're currently re-reading tokens */
            yylval = *yylvp++;
#if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED)
            yylloc = *yylpp++;
#endif
            yychar = *yylexp++;
            break;
        }
        if (yyps->save)
        {
            /* in trial mode; save scanner results for future parse attempts */
            if (yylvp == yylvlim)
            {   /* Enlarge lexical value queue */
                size_t p = (size_t) (yylvp - yylvals);
                size_t s = (size_t) (yylvlim - yylvals);

                s += YYLVQUEUEGROWTH;
                if ((yylexemes = (YYINT *)realloc(yylexemes, s * sizeof(YYINT))) == NULL) goto yyenomem;
                if ((yylvals   = (YYSTYPE *)realloc(yylvals, s * sizeof(YYSTYPE))) == NULL) goto yyenomem;
#if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED)
                if ((yylpsns   = (YYLTYPE *)realloc(yylpsns, s * sizeof(YYLTYPE))) == NULL) goto yyenomem;
#endif
                yylvp   = yylve = yylvals + p;
                yylvlim = yylvals + s;
#if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED)
                yylpp   = yylpe = yylpsns + p;
                yylplim = yylpsns + s;
#endif
                yylexp  = yylexemes + p;
            }
            *yylexp = (YYINT) YYLEX;
            *yylvp++ = yylval;
            yylve++;
#if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED)
            *yylpp++ = yylloc;
            yylpe++;
#endif
            yychar = *yylexp++;
            break;
        }
        /* normal operation, no conflict encountered */
#endif /* YYBTYACC */
        yychar = YYLEX;
#if YYBTYACC
        } while (0);
#endif /* YYBTYACC */
        if (yychar < 0) yychar = YYEOF;
#if YYDEBUG
        if (yydebug)
        {
            if ((yys = yyname[YYTRANSLATE(yychar)]) == NULL) yys = yyname[YYUNDFTOKEN];
            fprintf(stderr, "%s[%d]: state %d, reading token %d (%s)",
                            YYDEBUGSTR, yydepth, yystate, yychar, yys);
#ifdef YYSTYPE_TOSTRING
#if YYBTYACC
            if (!yytrial)
#endif /* YYBTYACC */
                fprintf(stderr, " <%s>", YYSTYPE_TOSTRING(yychar, yylval));
#endif
            fputc('\n', stderr);
        }
#endif
    }
#if YYBTYACC

    /* Do we have a conflict? */
    if (((yyn = yycindex[yystate]) != 0) && (yyn += yychar) >= 0 &&
        yyn <= YYTABLESIZE && yycheck[yyn] == (YYINT) yychar)
    {
        YYINT ctry;

        if (yypath)
        {
            YYParseState *save;
#if YYDEBUG
            if (yydebug)
                fprintf(stderr, "%s[%d]: CONFLICT in state %d: following successful trial parse\n",
                                YYDEBUGSTR, yydepth, yystate);
#endif
            /* Switch to the next conflict context */
            save = yypath;
            yypath = save->save;
            save->save = NULL;
            ctry = save->ctry;
            if (save->state != yystate) YYABORT;
            yyFreeState(save);

        }
        else
        {

            /* Unresolved conflict - start/continue trial parse */
            YYParseState *save;
#if YYDEBUG
            if (yydebug)
            {
                fprintf(stderr, "%s[%d]: CONFLICT in state %d. ", YYDEBUGSTR, yydepth, yystate);
                if (yyps->save)
                    fputs("ALREADY in conflict, continuing trial parse.\n", stderr);
                else
                    fputs("Starting trial parse.\n", stderr);
            }
#endif
            save                  = yyNewState((unsigned)(yystack.s_mark - yystack.s_base + 1));
            if (save == NULL) goto yyenomem;
            save->save            = yyps->save;
            save->state           = yystate;
            save->errflag         = yyerrflag;
            save->yystack.s_mark  = save->yystack.s_base + (yystack.s_mark - yystack.s_base);
            memcpy (save->yystack.s_base, yystack.s_base, (size_t) (yystack.s_mark - yystack.s_base + 1) * sizeof(YYINT));
            save->yystack.l_mark  = save->yystack.l_base + (yystack.l_mark - yystack.l_base);
            memcpy (save->yystack.l_base, yystack.l_base, (size_t) (yystack.l_mark - yystack.l_base + 1) * sizeof(YYSTYPE));
#if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED)
            save->yystack.p_mark  = save->yystack.p_base + (yystack.p_mark - yystack.p_base);
            memcpy (save->yystack.p_base, yystack.p_base, (size_t) (yystack.p_mark - yystack.p_base + 1) * sizeof(YYLTYPE));
#endif
            ctry                  = yytable[yyn];
            if (yyctable[ctry] == -1)
            {
#if YYDEBUG
                if (yydebug && yychar >= YYEOF)
                    fprintf(stderr, "%s[%d]: backtracking 1 token\n", YYDEBUGSTR, yydepth);
#endif
                ctry++;
            }
            save->ctry = ctry;
            if (yyps->save == NULL)
            {
                /* If this is a first conflict in the stack, start saving lexemes */
                if (!yylexemes)
                {
                    yylexemes = (YYINT *) malloc((YYLVQUEUEGROWTH) * sizeof(YYINT));
                    if (yylexemes == NULL) goto yyenomem;
                    yylvals   = (YYSTYPE *) malloc((YYLVQUEUEGROWTH) * sizeof(YYSTYPE));
                    if (yylvals == NULL) goto yyenomem;
                    yylvlim   = yylvals + YYLVQUEUEGROWTH;
#if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED)
                    yylpsns   = (YYLTYPE *) malloc((YYLVQUEUEGROWTH) * sizeof(YYLTYPE));
                    if (yylpsns == NULL) goto yyenomem;
                    yylplim   = yylpsns + YYLVQUEUEGROWTH;
#endif
                }
                if (yylvp == yylve)
                {
                    yylvp  = yylve = yylvals;
#if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED)
                    yylpp  = yylpe = yylpsns;
#endif
                    yylexp = yylexemes;
                    if (yychar >= YYEOF)
                    {
                        *yylve++ = yylval;
#if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED)
                        *yylpe++ = yylloc;
#endif
                        *yylexp  = (YYINT) yychar;
                        yychar   = YYEMPTY;
                    }
                }
            }
            if (yychar >= YYEOF)
            {
                yylvp--;
#if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED)
                yylpp--;
#endif
                yylexp--;
                yychar = YYEMPTY;
            }
            save->lexeme = (int) (yylvp - yylvals);
            yyps->save   = save;
        }
        if (yytable[yyn] == ctry)
        {
#if YYDEBUG
            if (yydebug)
                fprintf(stderr, "%s[%d]: state %d, shifting to state %d\n",
                                YYDEBUGSTR, yydepth, yystate, yyctable[ctry]);
#endif
            if (yychar < 0)
            {
                yylvp++;
#if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED)
                yylpp++;
#endif
                yylexp++;
            }
            if (yystack.s_mark >= yystack.s_last && yygrowstack(&yystack) == YYENOMEM)
                goto yyoverflow;
            yystate = yyctable[ctry];
            *++yystack.s_mark = (YYINT) yystate;
            *++yystack.l_mark = yylval;
#if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED)
            *++yystack.p_mark = yylloc;
#endif
            yychar  = YYEMPTY;
            if (yyerrflag > 0) --yyerrflag;
            goto yyloop;
        }
        else
        {
            yyn = yyctable[ctry];
            goto yyreduce;
        }
    } /* End of code dealing with conflicts */
#endif /* YYBTYACC */
    if (((yyn = yysindex[yystate]) != 0) && (yyn += yychar) >= 0 &&
            yyn <= YYTABLESIZE && yycheck[yyn] == (YYINT) yychar)
    {
#if YYDEBUG
        if (yydebug)
            fprintf(stderr, "%s[%d]: state %d, shifting to state %d\n",
                            YYDEBUGSTR, yydepth, yystate, yytable[yyn]);
#endif
        if (yystack.s_mark >= yystack.s_last && yygrowstack(&yystack) == YYENOMEM) goto yyoverflow;
        yystate = yytable[yyn];
        *++yystack.s_mark = yytable[yyn];
        *++yystack.l_mark = yylval;
#if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED)
        *++yystack.p_mark = yylloc;
#endif
        yychar = YYEMPTY;
        if (yyerrflag > 0)  --yyerrflag;
        goto yyloop;
    }
    if (((yyn = yyrindex[yystate]) != 0) && (yyn += yychar) >= 0 &&
            yyn <= YYTABLESIZE && yycheck[yyn] == (YYINT) yychar)
    {
        yyn = yytable[yyn];
        goto yyreduce;
    }
    if (yyerrflag != 0) goto yyinrecovery;
#if YYBTYACC

    yynewerrflag = 1;
    goto yyerrhandler;
    goto yyerrlab; /* redundant goto avoids 'unused label' warning */

yyerrlab:
    /* explicit YYERROR from an action -- pop the rhs of the rule reduced
     * before looking for error recovery */
    yystack.s_mark -= yym;
    yystate = *yystack.s_mark;
    yystack.l_mark -= yym;
#if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED)
    yystack.p_mark -= yym;
#endif

    yynewerrflag = 0;
yyerrhandler:
    while (yyps->save)
    {
        int ctry;
        YYParseState *save = yyps->save;
#if YYDEBUG
        if (yydebug)
            fprintf(stderr, "%s[%d]: ERROR in state %d, CONFLICT BACKTRACKING to state %d, %d tokens\n",
                            YYDEBUGSTR, yydepth, yystate, yyps->save->state,
                    (int)(yylvp - yylvals - yyps->save->lexeme));
#endif
        /* Memorize most forward-looking error state in case it's really an error. */
        if (yyerrctx == NULL || yyerrctx->lexeme < yylvp - yylvals)
        {
            /* Free old saved error context state */
            if (yyerrctx) yyFreeState(yyerrctx);
            /* Create and fill out new saved error context state */
            yyerrctx                 = yyNewState((unsigned)(yystack.s_mark - yystack.s_base + 1));
            if (yyerrctx == NULL) goto yyenomem;
            yyerrctx->save           = yyps->save;
            yyerrctx->state          = yystate;
            yyerrctx->errflag        = yyerrflag;
            yyerrctx->yystack.s_mark = yyerrctx->yystack.s_base + (yystack.s_mark - yystack.s_base);
            memcpy (yyerrctx->yystack.s_base, yystack.s_base, (size_t) (yystack.s_mark - yystack.s_base + 1) * sizeof(YYINT));
            yyerrctx->yystack.l_mark = yyerrctx->yystack.l_base + (yystack.l_mark - yystack.l_base);
            memcpy (yyerrctx->yystack.l_base, yystack.l_base, (size_t) (yystack.l_mark - yystack.l_base + 1) * sizeof(YYSTYPE));
#if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED)
            yyerrctx->yystack.p_mark = yyerrctx->yystack.p_base + (yystack.p_mark - yystack.p_base);
            memcpy (yyerrctx->yystack.p_base, yystack.p_base, (size_t) (yystack.p_mark - yystack.p_base + 1) * sizeof(YYLTYPE));
#endif
            yyerrctx->lexeme         = (int) (yylvp - yylvals);
        }
        yylvp          = yylvals   + save->lexeme;
#if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED)
        yylpp          = yylpsns   + save->lexeme;
#endif
        yylexp         = yylexemes + save->lexeme;
        yychar         = YYEMPTY;
        yystack.s_mark = yystack.s_base + (save->yystack.s_mark - save->yystack.s_base);
        memcpy (yystack.s_base, save->yystack.s_base, (size_t) (yystack.s_mark - yystack.s_base + 1) * sizeof(YYINT));
        yystack.l_mark = yystack.l_base + (save->yystack.l_mark - save->yystack.l_base);
        memcpy (yystack.l_base, save->yystack.l_base, (size_t) (yystack.l_mark - yystack.l_base + 1) * sizeof(YYSTYPE));
#if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED)
        yystack.p_mark = yystack.p_base + (save->yystack.p_mark - save->yystack.p_base);
        memcpy (yystack.p_base, save->yystack.p_base, (size_t) (yystack.p_mark - yystack.p_base + 1) * sizeof(YYLTYPE));
#endif
        ctry           = ++save->ctry;
        yystate        = save->state;
        /* We tried shift, try reduce now */
        if ((yyn = yyctable[ctry]) >= 0) goto yyreduce;
        yyps->save     = save->save;
        save->save     = NULL;
        yyFreeState(save);

        /* Nothing left on the stack -- error */
        if (!yyps->save)
        {
#if YYDEBUG
            if (yydebug)
                fprintf(stderr, "%sdebug[%d,trial]: trial parse FAILED, entering ERROR mode\n",
                                YYPREFIX, yydepth);
#endif
            /* Restore state as it was in the most forward-advanced error */
            yylvp          = yylvals   + yyerrctx->lexeme;
#if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED)
            yylpp          = yylpsns   + yyerrctx->lexeme;
#endif
            yylexp         = yylexemes + yyerrctx->lexeme;
            yychar         = yylexp[-1];
            yylval         = yylvp[-1];
#if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED)
            yylloc         = yylpp[-1];
#endif
            yystack.s_mark = yystack.s_base + (yyerrctx->yystack.s_mark - yyerrctx->yystack.s_base);
            memcpy (yystack.s_base, yyerrctx->yystack.s_base, (size_t) (yystack.s_mark - yystack.s_base + 1) * sizeof(YYINT));
            yystack.l_mark = yystack.l_base + (yyerrctx->yystack.l_mark - yyerrctx->yystack.l_base);
            memcpy (yystack.l_base, yyerrctx->yystack.l_base, (size_t) (yystack.l_mark - yystack.l_base + 1) * sizeof(YYSTYPE));
#if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED)
            yystack.p_mark = yystack.p_base + (yyerrctx->yystack.p_mark - yyerrctx->yystack.p_base);
            memcpy (yystack.p_base, yyerrctx->yystack.p_base, (size_t) (yystack.p_mark - yystack.p_base + 1) * sizeof(YYLTYPE));
#endif
            yystate        = yyerrctx->state;
            yyFreeState(yyerrctx);
            yyerrctx       = NULL;
        }
        yynewerrflag = 1;
    }
    if (yynewerrflag == 0) goto yyinrecovery;
#endif /* YYBTYACC */

    YYERROR_CALL("syntax error");
#if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED)
    yyerror_loc_range[1] = yylloc; /* lookahead position is error start position */
#endif

#if !YYBTYACC
    goto yyerrlab; /* redundant goto avoids 'unused label' warning */
yyerrlab:
#endif
    ++yynerrs;

yyinrecovery:
    if (yyerrflag < 3)
    {
        yyerrflag = 3;
        for (;;)
        {
            if (((yyn = yysindex[*yystack.s_mark]) != 0) && (yyn += YYERRCODE) >= 0 &&
                    yyn <= YYTABLESIZE && yycheck[yyn] == (YYINT) YYERRCODE)
            {
#if YYDEBUG
                if (yydebug)
                    fprintf(stderr, "%s[%d]: state %d, error recovery shifting to state %d\n",
                                    YYDEBUGSTR, yydepth, *yystack.s_mark, yytable[yyn]);
#endif
                if (yystack.s_mark >= yystack.s_last && yygrowstack(&yystack) == YYENOMEM) goto yyoverflow;
                yystate = yytable[yyn];
                *++yystack.s_mark = yytable[yyn];
                *++yystack.l_mark = yylval;
#if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED)
                /* lookahead position is error end position */
                yyerror_loc_range[2] = yylloc;
                YYLLOC_DEFAULT(yyloc, yyerror_loc_range, 2); /* position of error span */
                *++yystack.p_mark = yyloc;
#endif
                goto yyloop;
            }
            else
            {
#if YYDEBUG
                if (yydebug)
                    fprintf(stderr, "%s[%d]: error recovery discarding state %d\n",
                                    YYDEBUGSTR, yydepth, *yystack.s_mark);
#endif
                if (yystack.s_mark <= yystack.s_base) goto yyabort;
#if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED)
                /* the current TOS position is the error start position */
                yyerror_loc_range[1] = *yystack.p_mark;
#endif
#if defined(YYDESTRUCT_CALL)
#if YYBTYACC
                if (!yytrial)
#endif /* YYBTYACC */
#if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED)
                    YYDESTRUCT_CALL("error: discarding state",
                                    yystos[*yystack.s_mark], yystack.l_mark, yystack.p_mark);
#else
                    YYDESTRUCT_CALL("error: discarding state",
                                    yystos[*yystack.s_mark], yystack.l_mark);
#endif /* defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED) */
#endif /* defined(YYDESTRUCT_CALL) */
                --yystack.s_mark;
                --yystack.l_mark;
#if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED)
                --yystack.p_mark;
#endif
            }
        }
    }
    else
    {
        if (yychar == YYEOF) goto yyabort;
#if YYDEBUG
        if (yydebug)
        {
            if ((yys = yyname[YYTRANSLATE(yychar)]) == NULL) yys = yyname[YYUNDFTOKEN];
            fprintf(stderr, "%s[%d]: state %d, error recovery discarding token %d (%s)\n",
                            YYDEBUGSTR, yydepth, yystate, yychar, yys);
        }
#endif
#if defined(YYDESTRUCT_CALL)
#if YYBTYACC
        if (!yytrial)
#endif /* YYBTYACC */
#if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED)
            YYDESTRUCT_CALL("error: discarding token", yychar, &yylval, &yylloc);
#else
            YYDESTRUCT_CALL("error: discarding token", yychar, &yylval);
#endif /* defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED) */
#endif /* defined(YYDESTRUCT_CALL) */
        yychar = YYEMPTY;
        goto yyloop;
    }

yyreduce:
    yym = yylen[yyn];
#if YYDEBUG
    if (yydebug)
    {
        fprintf(stderr, "%s[%d]: state %d, reducing by rule %d (%s)",
                        YYDEBUGSTR, yydepth, yystate, yyn, yyrule[yyn]);
#ifdef YYSTYPE_TOSTRING
#if YYBTYACC
        if (!yytrial)
#endif /* YYBTYACC */
            if (yym > 0)
            {
                int i;
                fputc('<', stderr);
                for (i = yym; i > 0; i--)
                {
                    if (i != yym) fputs(", ", stderr);
                    fputs(YYSTYPE_TOSTRING(yystos[yystack.s_mark[1-i]],
                                           yystack.l_mark[1-i]), stderr);
                }
                fputc('>', stderr);
            }
#endif
        fputc('\n', stderr);
    }
#endif
    if (yym > 0)
        yyval = yystack.l_mark[1-yym];
    else
        memset(&yyval, 0, sizeof yyval);
#if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED)

    /* Perform position reduction */
    memset(&yyloc, 0, sizeof(yyloc));
#if YYBTYACC
    if (!yytrial)
#endif /* YYBTYACC */
    {
        YYLLOC_DEFAULT(yyloc, &yystack.p_mark[-yym], yym);
        /* just in case YYERROR is invoked within the action, save
           the start of the rhs as the error start position */
        yyerror_loc_range[1] = yystack.p_mark[1-yym];
    }
#endif

    switch (yyn)
    {
case 8:
#line 185 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ ldlex_expression(); }
#line 3354 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 9:
#line 187 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ ldlex_popstate(); }
#line 3359 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 10:
#line 192 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{
		  ldlex_mri_script ();
		  PUSH_ERROR (_("MRI style script"));
		}
#line 3367 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 11:
#line 197 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{
		  ldlex_popstate ();
		  mri_draw_tree ();
		  POP_ERROR ();
		}
#line 3376 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 16:
#line 212 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{
			fatal (_("%P: unrecognised keyword in MRI style script '%s'\n"), yystack.l_mark[0].name);
			}
#line 3383 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 17:
#line 215 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{
			config.map_filename = "-";
			}
#line 3390 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 20:
#line 221 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ mri_public(yystack.l_mark[-2].name, yystack.l_mark[0].etree); }
#line 3395 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 21:
#line 223 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ mri_public(yystack.l_mark[-2].name, yystack.l_mark[0].etree); }
#line 3400 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 22:
#line 225 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ mri_public(yystack.l_mark[-1].name, yystack.l_mark[0].etree); }
#line 3405 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 23:
#line 227 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ mri_format(yystack.l_mark[0].name); }
#line 3410 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 24:
#line 229 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ mri_output_section(yystack.l_mark[-2].name, yystack.l_mark[0].etree);}
#line 3415 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 25:
#line 231 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ mri_output_section(yystack.l_mark[-1].name, yystack.l_mark[0].etree);}
#line 3420 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 26:
#line 233 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ mri_output_section(yystack.l_mark[-2].name, yystack.l_mark[0].etree);}
#line 3425 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 27:
#line 235 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ mri_align(yystack.l_mark[-2].name,yystack.l_mark[0].etree); }
#line 3430 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 28:
#line 237 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ mri_align(yystack.l_mark[-2].name,yystack.l_mark[0].etree); }
#line 3435 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 29:
#line 239 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ mri_alignmod(yystack.l_mark[-2].name,yystack.l_mark[0].etree); }
#line 3440 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 30:
#line 241 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ mri_alignmod(yystack.l_mark[-2].name,yystack.l_mark[0].etree); }
#line 3445 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 33:
#line 245 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ mri_name(yystack.l_mark[0].name); }
#line 3450 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 34:
#line 247 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ mri_alias(yystack.l_mark[-2].name,yystack.l_mark[0].name,0);}
#line 3455 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 35:
#line 249 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ mri_alias (yystack.l_mark[-2].name, 0, (int) yystack.l_mark[0].bigint.integer); }
#line 3460 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 36:
#line 251 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ mri_base(yystack.l_mark[0].etree); }
#line 3465 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 37:
#line 253 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ mri_truncate ((unsigned int) yystack.l_mark[0].bigint.integer); }
#line 3470 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 40:
#line 257 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ ldfile_open_command_file (yystack.l_mark[0].name); }
#line 3475 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 42:
#line 260 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ lang_add_entry (yystack.l_mark[0].name, false); }
#line 3480 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 44:
#line 265 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ mri_order(yystack.l_mark[0].name); }
#line 3485 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 45:
#line 266 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ mri_order(yystack.l_mark[0].name); }
#line 3490 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 47:
#line 272 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ mri_load(yystack.l_mark[0].name); }
#line 3495 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 48:
#line 273 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ mri_load(yystack.l_mark[0].name); }
#line 3500 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 49:
#line 278 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ mri_only_load(yystack.l_mark[0].name); }
#line 3505 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 50:
#line 280 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ mri_only_load(yystack.l_mark[0].name); }
#line 3510 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 51:
#line 284 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ yyval.name = NULL; }
#line 3515 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 54:
#line 291 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ ldlang_add_undef (yystack.l_mark[0].name, false); }
#line 3520 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 55:
#line 293 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ ldlang_add_undef (yystack.l_mark[0].name, false); }
#line 3525 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 56:
#line 295 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ ldlang_add_undef (yystack.l_mark[0].name, false); }
#line 3530 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 57:
#line 299 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ ldlex_script (); }
#line 3535 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 58:
#line 301 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ ldlex_popstate (); }
#line 3540 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 71:
#line 322 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ lang_add_target(yystack.l_mark[-1].name); }
#line 3545 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 72:
#line 324 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ ldfile_add_library_path (yystack.l_mark[-1].name, false); }
#line 3550 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 73:
#line 326 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ lang_add_output(yystack.l_mark[-1].name, 1); }
#line 3555 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 74:
#line 328 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ lang_add_output_format (yystack.l_mark[-1].name, (char *) NULL,
					    (char *) NULL, 1); }
#line 3561 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 75:
#line 331 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ lang_add_output_format (yystack.l_mark[-5].name, yystack.l_mark[-3].name, yystack.l_mark[-1].name, 1); }
#line 3566 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 76:
#line 333 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ ldfile_set_output_arch (yystack.l_mark[-1].name, bfd_arch_unknown); }
#line 3571 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 77:
#line 335 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ command_line.force_common_definition = true ; }
#line 3576 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 78:
#line 337 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ command_line.force_group_allocation = true ; }
#line 3581 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 79:
#line 339 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ link_info.inhibit_common_definition = true ; }
#line 3586 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 81:
#line 342 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ lang_enter_group (); }
#line 3591 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 82:
#line 344 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ lang_leave_group (); }
#line 3596 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 83:
#line 346 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ lang_add_map(yystack.l_mark[-1].name); }
#line 3601 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 84:
#line 348 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ ldfile_open_command_file (yystack.l_mark[0].name); }
#line 3606 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 86:
#line 351 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{
		  lang_add_nocrossref (yystack.l_mark[-1].nocrossref);
		}
#line 3613 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 87:
#line 355 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{
		  lang_add_nocrossref_to (yystack.l_mark[-1].nocrossref);
		}
#line 3620 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 88:
#line 358 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ ldlex_expression (); }
#line 3625 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 89:
#line 359 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ ldlex_popstate (); }
#line 3630 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 90:
#line 361 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ lang_add_insert (yystack.l_mark[0].name, 0); }
#line 3635 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 91:
#line 363 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ lang_add_insert (yystack.l_mark[0].name, 1); }
#line 3640 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 92:
#line 365 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ lang_memory_region_alias (yystack.l_mark[-3].name, yystack.l_mark[-1].name); }
#line 3645 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 93:
#line 367 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ lang_ld_feature (yystack.l_mark[-1].name); }
#line 3650 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 94:
#line 371 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ ldlex_inputlist(); }
#line 3655 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 95:
#line 373 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ ldlex_popstate(); }
#line 3660 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 96:
#line 377 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ lang_add_input_file(yystack.l_mark[0].name,lang_input_file_is_search_file_enum,
				 (char *)NULL); }
#line 3666 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 97:
#line 380 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ lang_add_input_file(yystack.l_mark[0].name,lang_input_file_is_search_file_enum,
				 (char *)NULL); }
#line 3672 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 98:
#line 383 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ lang_add_input_file(yystack.l_mark[0].name,lang_input_file_is_search_file_enum,
				 (char *)NULL); }
#line 3678 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 99:
#line 386 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ lang_add_input_file(yystack.l_mark[0].name,lang_input_file_is_l_enum,
				 (char *)NULL); }
#line 3684 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 100:
#line 389 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ lang_add_input_file(yystack.l_mark[0].name,lang_input_file_is_l_enum,
				 (char *)NULL); }
#line 3690 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 101:
#line 392 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ lang_add_input_file(yystack.l_mark[0].name,lang_input_file_is_l_enum,
				 (char *)NULL); }
#line 3696 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 102:
#line 395 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ yyval.integer = input_flags.add_DT_NEEDED_for_regular;
		    input_flags.add_DT_NEEDED_for_regular = true; }
#line 3702 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 103:
#line 398 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ input_flags.add_DT_NEEDED_for_regular = yystack.l_mark[-2].integer; }
#line 3707 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 104:
#line 400 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ yyval.integer = input_flags.add_DT_NEEDED_for_regular;
		    input_flags.add_DT_NEEDED_for_regular = true; }
#line 3713 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 105:
#line 403 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ input_flags.add_DT_NEEDED_for_regular = yystack.l_mark[-2].integer; }
#line 3718 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 106:
#line 405 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ yyval.integer = input_flags.add_DT_NEEDED_for_regular;
		    input_flags.add_DT_NEEDED_for_regular = true; }
#line 3724 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 107:
#line 408 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ input_flags.add_DT_NEEDED_for_regular = yystack.l_mark[-2].integer; }
#line 3729 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 112:
#line 423 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ lang_add_entry (yystack.l_mark[-1].name, false); }
#line 3734 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 114:
#line 425 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ldlex_expression ();}
#line 3739 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 115:
#line 426 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ ldlex_popstate ();
		  lang_add_assignment (exp_assert (yystack.l_mark[-3].etree, yystack.l_mark[-1].name)); }
#line 3745 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 116:
#line 432 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{
			  yyval.cname = yystack.l_mark[0].name;
			}
#line 3752 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 117:
#line 439 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{
			  yyval.wildcard.name = yystack.l_mark[0].cname;
			  yyval.wildcard.sorted = none;
			  yyval.wildcard.exclude_name_list = NULL;
			  yyval.wildcard.section_flag_list = NULL;
			  yyval.wildcard.reversed = false;
			}
#line 3763 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 118:
#line 447 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{
			  yyval.wildcard.name = yystack.l_mark[0].cname;
			  yyval.wildcard.sorted = none;
			  yyval.wildcard.exclude_name_list = yystack.l_mark[-2].name_list;
			  yyval.wildcard.section_flag_list = NULL;
			  yyval.wildcard.reversed = false;
			}
#line 3774 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 120:
#line 459 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{
			  yyval.wildcard = yystack.l_mark[-1].wildcard;
			  yyval.wildcard.reversed = true;
			  yyval.wildcard.sorted = by_name;
			}
#line 3783 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 122:
#line 469 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{
			  yyval.wildcard = yystack.l_mark[-1].wildcard;
			  yyval.wildcard.sorted = by_name;
			}
#line 3791 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 123:
#line 474 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{
			  yyval.wildcard = yystack.l_mark[-1].wildcard;
			  yyval.wildcard.sorted = by_none;
			  yyval.wildcard.reversed = false;
			}
#line 3800 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 124:
#line 480 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{
			  yyval.wildcard = yystack.l_mark[-2].wildcard;
			  yyval.wildcard.sorted = by_name;
			  yyval.wildcard.reversed = true;
			}
#line 3809 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 126:
#line 490 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{
			  yyval.wildcard = yystack.l_mark[-1].wildcard;
			  yyval.wildcard.sorted = by_name;
			}
#line 3817 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 127:
#line 495 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{
			  yyval.wildcard = yystack.l_mark[-1].wildcard;
			  yyval.wildcard.sorted = by_alignment;
			}
#line 3825 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 128:
#line 500 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{
			  yyval.wildcard = yystack.l_mark[-1].wildcard;
			  yyval.wildcard.sorted = by_none;
			}
#line 3833 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 129:
#line 505 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{
			  yyval.wildcard = yystack.l_mark[-2].wildcard;
			  yyval.wildcard.sorted = by_name_alignment;
			}
#line 3841 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 130:
#line 510 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{
			  yyval.wildcard = yystack.l_mark[-2].wildcard;
			  yyval.wildcard.sorted = by_name;
			}
#line 3849 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 131:
#line 515 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{
			  yyval.wildcard = yystack.l_mark[-2].wildcard;
			  yyval.wildcard.sorted = by_alignment_name;
			}
#line 3857 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 132:
#line 520 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{
			  yyval.wildcard = yystack.l_mark[-2].wildcard;
			  yyval.wildcard.sorted = by_alignment;
			}
#line 3865 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 133:
#line 525 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{
			  yyval.wildcard = yystack.l_mark[-1].wildcard;
			  yyval.wildcard.sorted = by_init_priority;
			}
#line 3873 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 134:
#line 530 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{
			  yyval.wildcard = yystack.l_mark[-2].wildcard;
			  yyval.wildcard.sorted = by_name;
			  yyval.wildcard.reversed = true;
			}
#line 3882 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 135:
#line 536 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{
			  yyval.wildcard = yystack.l_mark[-2].wildcard;
			  yyval.wildcard.sorted = by_init_priority;
			  yyval.wildcard.reversed = true;
			}
#line 3891 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 136:
#line 544 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{
			  struct flag_info_list *n;
			  n = stat_alloc (sizeof *n);
			  if (yystack.l_mark[0].name[0] == '!')
			    {
			      n->with = without_flags;
			      n->name = &yystack.l_mark[0].name[1];
			    }
			  else
			    {
			      n->with = with_flags;
			      n->name = yystack.l_mark[0].name;
			    }
			  n->valid = false;
			  n->next = NULL;
			  yyval.flag_info_list = n;
			}
#line 3912 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 137:
#line 562 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{
			  struct flag_info_list *n;
			  n = stat_alloc (sizeof *n);
			  if (yystack.l_mark[0].name[0] == '!')
			    {
			      n->with = without_flags;
			      n->name = &yystack.l_mark[0].name[1];
			    }
			  else
			    {
			      n->with = with_flags;
			      n->name = yystack.l_mark[0].name;
			    }
			  n->valid = false;
			  n->next = yystack.l_mark[-2].flag_info_list;
			  yyval.flag_info_list = n;
			}
#line 3933 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 138:
#line 583 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{
			  struct flag_info *n;
			  n = stat_alloc (sizeof *n);
			  n->flag_list = yystack.l_mark[-1].flag_info_list;
			  n->flags_initialized = false;
			  n->not_with_flags = 0;
			  n->only_with_flags = 0;
			  yyval.flag_info = n;
			}
#line 3946 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 139:
#line 596 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{
			  struct name_list *tmp;
			  tmp = stat_alloc (sizeof *tmp);
			  tmp->name = yystack.l_mark[0].cname;
			  tmp->next = yystack.l_mark[-1].name_list;
			  yyval.name_list = tmp;
			}
#line 3957 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 140:
#line 605 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{
			  struct name_list *tmp;
			  tmp = stat_alloc (sizeof *tmp);
			  tmp->name = yystack.l_mark[0].cname;
			  tmp->next = NULL;
			  yyval.name_list = tmp;
			}
#line 3968 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 141:
#line 616 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{
			  struct wildcard_list *tmp;
			  tmp = stat_alloc (sizeof *tmp);
			  tmp->next = yystack.l_mark[-2].wildcard_list;
			  tmp->spec = yystack.l_mark[0].wildcard;
			  yyval.wildcard_list = tmp;
			}
#line 3979 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 142:
#line 625 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{
			  struct wildcard_list *tmp;
			  tmp = stat_alloc (sizeof *tmp);
			  tmp->next = NULL;
			  tmp->spec = yystack.l_mark[0].wildcard;
			  yyval.wildcard_list = tmp;
			}
#line 3990 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 143:
#line 636 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{
			  struct wildcard_spec tmp;
			  tmp.name = yystack.l_mark[0].name;
			  tmp.exclude_name_list = NULL;
			  tmp.sorted = none;
			  tmp.section_flag_list = NULL;
			  lang_add_wild (&tmp, NULL, ldgram_had_keep);
			}
#line 4002 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 144:
#line 645 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{
			  struct wildcard_spec tmp;
			  tmp.name = yystack.l_mark[0].name;
			  tmp.exclude_name_list = NULL;
			  tmp.sorted = none;
			  tmp.section_flag_list = yystack.l_mark[-1].flag_info;
			  lang_add_wild (&tmp, NULL, ldgram_had_keep);
			}
#line 4014 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 145:
#line 654 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{
			  lang_add_wild (NULL, yystack.l_mark[-1].wildcard_list, ldgram_had_keep);
			}
#line 4021 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 146:
#line 658 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{
			  struct wildcard_spec tmp;
			  tmp.name = NULL;
			  tmp.exclude_name_list = NULL;
			  tmp.sorted = none;
			  tmp.section_flag_list = yystack.l_mark[-3].flag_info;
			  lang_add_wild (&tmp, yystack.l_mark[-1].wildcard_list, ldgram_had_keep);
			}
#line 4033 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 147:
#line 667 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{
			  lang_add_wild (&yystack.l_mark[-3].wildcard, yystack.l_mark[-1].wildcard_list, ldgram_had_keep);
			}
#line 4040 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 148:
#line 671 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{
			  yystack.l_mark[-3].wildcard.section_flag_list = yystack.l_mark[-4].flag_info;
			  lang_add_wild (&yystack.l_mark[-3].wildcard, yystack.l_mark[-1].wildcard_list, ldgram_had_keep);
			}
#line 4048 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 150:
#line 680 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ ldgram_had_keep = true; }
#line 4053 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 151:
#line 682 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ ldgram_had_keep = false; }
#line 4058 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 154:
#line 689 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{
		  lang_add_attribute (lang_object_symbols_statement_enum);
		}
#line 4065 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 155:
#line 693 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{
		  lang_add_attribute (lang_constructors_statement_enum);
		}
#line 4072 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 156:
#line 697 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{
		  constructors_sorted = true;
		  lang_add_attribute (lang_constructors_statement_enum);
		}
#line 4080 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 158:
#line 703 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{
		  lang_add_data ((int) yystack.l_mark[-3].integer, yystack.l_mark[-1].etree);
		}
#line 4087 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 159:
#line 707 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{
		  lang_add_string (yystack.l_mark[0].name);
		}
#line 4094 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 160:
#line 711 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{
		  lang_add_fill (yystack.l_mark[-1].fill);
		}
#line 4101 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 161:
#line 715 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{
		  lang_add_version_string ();
		}
#line 4108 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 162:
#line 719 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ ldlex_expression (); }
#line 4113 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 163:
#line 721 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{
		  ldlex_popstate ();
		  lang_add_assignment (exp_assert (yystack.l_mark[-4].etree, yystack.l_mark[-2].name));
		}
#line 4121 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 164:
#line 726 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{
		  ldfile_open_command_file (yystack.l_mark[0].name);
		}
#line 4128 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 170:
#line 744 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ yyval.integer = yystack.l_mark[0].token; }
#line 4133 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 171:
#line 746 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ yyval.integer = yystack.l_mark[0].token; }
#line 4138 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 172:
#line 748 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ yyval.integer = yystack.l_mark[0].token; }
#line 4143 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 173:
#line 750 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ yyval.integer = yystack.l_mark[0].token; }
#line 4148 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 174:
#line 752 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ yyval.integer = yystack.l_mark[0].token; }
#line 4153 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 175:
#line 757 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{
		  yyval.fill = exp_get_fill (yystack.l_mark[0].etree, 0, _("fill value"));
		}
#line 4160 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 176:
#line 764 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ yyval.fill = yystack.l_mark[0].fill; }
#line 4165 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 177:
#line 765 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ yyval.fill = (fill_type *) 0; }
#line 4170 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 178:
#line 770 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ yyval.token = '+'; }
#line 4175 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 179:
#line 772 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ yyval.token = '-'; }
#line 4180 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 180:
#line 774 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ yyval.token = '*'; }
#line 4185 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 181:
#line 776 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ yyval.token = '/'; }
#line 4190 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 182:
#line 778 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ yyval.token = LSHIFT; }
#line 4195 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 183:
#line 780 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ yyval.token = RSHIFT; }
#line 4200 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 184:
#line 782 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ yyval.token = '&'; }
#line 4205 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 185:
#line 784 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ yyval.token = '|'; }
#line 4210 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 186:
#line 786 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ yyval.token = '^'; }
#line 4215 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 189:
#line 796 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{
		  lang_add_assignment (exp_assign (yystack.l_mark[-2].name, yystack.l_mark[0].etree, false));
		}
#line 4222 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 190:
#line 800 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{
		  lang_add_assignment (exp_assign (yystack.l_mark[-2].name,
						   exp_binop (yystack.l_mark[-1].token,
							      exp_nameop (NAME,
									  yystack.l_mark[-2].name),
							      yystack.l_mark[0].etree), false));
		}
#line 4233 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 191:
#line 808 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{
		  lang_add_assignment (exp_assign (yystack.l_mark[-3].name, yystack.l_mark[-1].etree, true));
		}
#line 4240 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 192:
#line 812 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{
		  lang_add_assignment (exp_provide (yystack.l_mark[-3].name, yystack.l_mark[-1].etree, false));
		}
#line 4247 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 193:
#line 816 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{
		  lang_add_assignment (exp_provide (yystack.l_mark[-3].name, yystack.l_mark[-1].etree, true));
		}
#line 4254 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 201:
#line 839 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ region = lang_memory_region_lookup (yystack.l_mark[0].name, true); }
#line 4259 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 202:
#line 842 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{}
#line 4264 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 203:
#line 844 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ ldfile_open_command_file (yystack.l_mark[0].name); }
#line 4269 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 205:
#line 850 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{
		  region->origin_exp = yystack.l_mark[0].etree;
		}
#line 4276 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 206:
#line 857 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{
		  if (yychar == NAME)
		    {
		      yyclearin;
		      ldlex_backup ();
		    }
		  region->length_exp = yystack.l_mark[0].etree;
		}
#line 4288 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 207:
#line 869 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ /* dummy action to avoid bison 1.25 error message */ }
#line 4293 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 211:
#line 880 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ lang_set_flags (region, yystack.l_mark[0].name, 0); }
#line 4298 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 212:
#line 882 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ lang_set_flags (region, yystack.l_mark[0].name, 1); }
#line 4303 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 213:
#line 887 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ lang_startup(yystack.l_mark[-1].name); }
#line 4308 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 215:
#line 893 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ ldemul_hll((char *)NULL); }
#line 4313 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 216:
#line 898 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ ldemul_hll(yystack.l_mark[0].name); }
#line 4318 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 217:
#line 900 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ ldemul_hll(yystack.l_mark[0].name); }
#line 4323 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 219:
#line 909 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ ldemul_syslib(yystack.l_mark[0].name); }
#line 4328 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 221:
#line 915 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ lang_float(true); }
#line 4333 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 222:
#line 917 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ lang_float(false); }
#line 4338 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 223:
#line 922 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{
		  yyval.nocrossref = NULL;
		}
#line 4345 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 224:
#line 926 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{
		  struct lang_nocrossref *n;

		  n = stat_alloc (sizeof *n);
		  n->name = yystack.l_mark[-1].name;
		  n->next = yystack.l_mark[0].nocrossref;
		  yyval.nocrossref = n;
		}
#line 4357 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 225:
#line 935 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{
		  struct lang_nocrossref *n;

		  n = stat_alloc (sizeof *n);
		  n->name = yystack.l_mark[-2].name;
		  n->next = yystack.l_mark[0].nocrossref;
		  yyval.nocrossref = n;
		}
#line 4369 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 226:
#line 945 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ ldlex_script (); }
#line 4374 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 227:
#line 947 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ ldlex_popstate (); yyval.name = yystack.l_mark[-1].name; }
#line 4379 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 228:
#line 949 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ ldlex_expression (); }
#line 4384 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 229:
#line 951 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ ldlex_popstate (); yyval.etree = yystack.l_mark[0].etree; }
#line 4389 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 230:
#line 956 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ yyval.etree = exp_unop ('-', yystack.l_mark[0].etree); }
#line 4394 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 231:
#line 958 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ yyval.etree = yystack.l_mark[-1].etree; }
#line 4399 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 232:
#line 960 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ yyval.etree = exp_unop ((int) yystack.l_mark[-3].integer,yystack.l_mark[-1].etree); }
#line 4404 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 233:
#line 962 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ yyval.etree = exp_unop ('!', yystack.l_mark[0].etree); }
#line 4409 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 234:
#line 964 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ yyval.etree = yystack.l_mark[0].etree; }
#line 4414 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 235:
#line 966 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ yyval.etree = exp_unop ('~', yystack.l_mark[0].etree);}
#line 4419 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 236:
#line 969 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ yyval.etree = exp_binop ('*', yystack.l_mark[-2].etree, yystack.l_mark[0].etree); }
#line 4424 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 237:
#line 971 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ yyval.etree = exp_binop ('/', yystack.l_mark[-2].etree, yystack.l_mark[0].etree); }
#line 4429 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 238:
#line 973 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ yyval.etree = exp_binop ('%', yystack.l_mark[-2].etree, yystack.l_mark[0].etree); }
#line 4434 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 239:
#line 975 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ yyval.etree = exp_binop ('+', yystack.l_mark[-2].etree, yystack.l_mark[0].etree); }
#line 4439 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 240:
#line 977 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ yyval.etree = exp_binop ('-' , yystack.l_mark[-2].etree, yystack.l_mark[0].etree); }
#line 4444 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 241:
#line 979 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ yyval.etree = exp_binop (LSHIFT , yystack.l_mark[-2].etree, yystack.l_mark[0].etree); }
#line 4449 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 242:
#line 981 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ yyval.etree = exp_binop (RSHIFT , yystack.l_mark[-2].etree, yystack.l_mark[0].etree); }
#line 4454 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 243:
#line 983 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ yyval.etree = exp_binop (EQ , yystack.l_mark[-2].etree, yystack.l_mark[0].etree); }
#line 4459 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 244:
#line 985 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ yyval.etree = exp_binop (NE , yystack.l_mark[-2].etree, yystack.l_mark[0].etree); }
#line 4464 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 245:
#line 987 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ yyval.etree = exp_binop (LE , yystack.l_mark[-2].etree, yystack.l_mark[0].etree); }
#line 4469 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 246:
#line 989 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ yyval.etree = exp_binop (GE , yystack.l_mark[-2].etree, yystack.l_mark[0].etree); }
#line 4474 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 247:
#line 991 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ yyval.etree = exp_binop ('<' , yystack.l_mark[-2].etree, yystack.l_mark[0].etree); }
#line 4479 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 248:
#line 993 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ yyval.etree = exp_binop ('>' , yystack.l_mark[-2].etree, yystack.l_mark[0].etree); }
#line 4484 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 249:
#line 995 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ yyval.etree = exp_binop ('&' , yystack.l_mark[-2].etree, yystack.l_mark[0].etree); }
#line 4489 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 250:
#line 997 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ yyval.etree = exp_binop ('^' , yystack.l_mark[-2].etree, yystack.l_mark[0].etree); }
#line 4494 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 251:
#line 999 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ yyval.etree = exp_binop ('|' , yystack.l_mark[-2].etree, yystack.l_mark[0].etree); }
#line 4499 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 252:
#line 1001 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ yyval.etree = exp_trinop ('?' , yystack.l_mark[-4].etree, yystack.l_mark[-2].etree, yystack.l_mark[0].etree); }
#line 4504 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 253:
#line 1003 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ yyval.etree = exp_binop (ANDAND , yystack.l_mark[-2].etree, yystack.l_mark[0].etree); }
#line 4509 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 254:
#line 1005 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ yyval.etree = exp_binop (OROR , yystack.l_mark[-2].etree, yystack.l_mark[0].etree); }
#line 4514 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 255:
#line 1007 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ yyval.etree = exp_nameop (DEFINED, yystack.l_mark[-1].name); }
#line 4519 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 256:
#line 1009 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ yyval.etree = exp_bigintop (yystack.l_mark[0].bigint.integer, yystack.l_mark[0].bigint.str); }
#line 4524 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 257:
#line 1011 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ yyval.etree = exp_nameop (SIZEOF_HEADERS,0); }
#line 4529 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 258:
#line 1014 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ yyval.etree = exp_nameop (ALIGNOF, yystack.l_mark[0].name); }
#line 4534 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 259:
#line 1016 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ yyval.etree = exp_nameop (SIZEOF, yystack.l_mark[0].name); }
#line 4539 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 260:
#line 1018 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ yyval.etree = exp_nameop (ADDR, yystack.l_mark[0].name); }
#line 4544 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 261:
#line 1020 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ yyval.etree = exp_nameop (LOADADDR, yystack.l_mark[0].name); }
#line 4549 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 262:
#line 1022 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ yyval.etree = exp_nameop (CONSTANT,yystack.l_mark[-1].name); }
#line 4554 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 263:
#line 1024 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ yyval.etree = exp_unop (ABSOLUTE, yystack.l_mark[-1].etree); }
#line 4559 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 264:
#line 1026 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ yyval.etree = exp_unop (ALIGN_K,yystack.l_mark[-1].etree); }
#line 4564 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 265:
#line 1028 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ yyval.etree = exp_binop (ALIGN_K,yystack.l_mark[-3].etree,yystack.l_mark[-1].etree); }
#line 4569 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 266:
#line 1030 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ yyval.etree = exp_binop (DATA_SEGMENT_ALIGN, yystack.l_mark[-3].etree, yystack.l_mark[-1].etree); }
#line 4574 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 267:
#line 1032 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ yyval.etree = exp_binop (DATA_SEGMENT_RELRO_END, yystack.l_mark[-1].etree, yystack.l_mark[-3].etree); }
#line 4579 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 268:
#line 1034 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ yyval.etree = exp_unop (DATA_SEGMENT_END, yystack.l_mark[-1].etree); }
#line 4584 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 269:
#line 1035 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ ldlex_script (); }
#line 4589 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 270:
#line 1036 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ ldlex_popstate (); }
#line 4594 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 271:
#line 1037 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ /* The operands to the expression node are
			     placed in the opposite order from the way
			     in which they appear in the script as
			     that allows us to reuse more code in
			     fold_binary.  */
			  yyval.etree = exp_binop (SEGMENT_START,
					  yystack.l_mark[-1].etree,
					  exp_nameop (NAME, yystack.l_mark[-4].name)); }
#line 4606 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 272:
#line 1046 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ yyval.etree = exp_unop (ALIGN_K,yystack.l_mark[-1].etree); }
#line 4611 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 273:
#line 1048 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ yyval.etree = exp_nameop (NAME,yystack.l_mark[0].name); }
#line 4616 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 274:
#line 1050 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ yyval.etree = exp_binop (MAX_K, yystack.l_mark[-3].etree, yystack.l_mark[-1].etree ); }
#line 4621 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 275:
#line 1052 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ yyval.etree = exp_binop (MIN_K, yystack.l_mark[-3].etree, yystack.l_mark[-1].etree ); }
#line 4626 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 276:
#line 1054 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ yyval.etree = exp_assert (yystack.l_mark[-3].etree, yystack.l_mark[-1].name); }
#line 4631 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 277:
#line 1056 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ yyval.etree = exp_nameop (ORIGIN, yystack.l_mark[0].name); }
#line 4636 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 278:
#line 1058 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ yyval.etree = exp_nameop (LENGTH, yystack.l_mark[0].name); }
#line 4641 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 279:
#line 1060 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ yyval.etree = exp_unop (LOG2CEIL, yystack.l_mark[-1].etree); }
#line 4646 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 280:
#line 1065 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ yyval.name = yystack.l_mark[0].name; }
#line 4651 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 281:
#line 1066 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ yyval.name = 0; }
#line 4656 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 282:
#line 1070 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ yyval.etree = yystack.l_mark[-1].etree; }
#line 4661 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 283:
#line 1071 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ yyval.etree = 0; }
#line 4666 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 284:
#line 1075 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ yyval.etree = yystack.l_mark[-1].etree; }
#line 4671 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 285:
#line 1076 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ yyval.etree = 0; }
#line 4676 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 286:
#line 1080 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ yyval.token = ALIGN_WITH_INPUT; }
#line 4681 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 287:
#line 1081 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ yyval.token = 0; }
#line 4686 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 288:
#line 1085 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ yyval.etree = yystack.l_mark[-1].etree; }
#line 4691 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 289:
#line 1086 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ yyval.etree = 0; }
#line 4696 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 290:
#line 1090 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ yyval.token = ONLY_IF_RO; }
#line 4701 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 291:
#line 1091 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ yyval.token = ONLY_IF_RW; }
#line 4706 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 292:
#line 1092 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ yyval.token = SPECIAL; }
#line 4711 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 293:
#line 1093 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ yyval.token = 0; }
#line 4716 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 294:
#line 1097 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ ldlex_expression(); }
#line 4721 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 295:
#line 1104 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{
			  ldlex_popstate ();
			  ldlex_wild ();
			  lang_enter_output_section_statement (yystack.l_mark[-7].name, yystack.l_mark[-5].etree, sectype,
					sectype_value, yystack.l_mark[-3].etree, yystack.l_mark[-1].etree, yystack.l_mark[-4].etree, yystack.l_mark[0].token, yystack.l_mark[-2].token);
			}
#line 4731 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 296:
#line 1113 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ ldlex_popstate (); }
#line 4736 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 297:
#line 1115 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{
			  /* fill_opt may have switched the lexer into
			     expression state, and back again, but in
			     order to find the end of the fill
			     expression the parser must look ahead one
			     token.  If it is a NAME, throw it away as
			     it will have been lexed in the wrong
			     state.  */
			  if (yychar == NAME)
			    {
			      yyclearin;
			      ldlex_backup ();
			    }
			  lang_leave_output_section_statement (yystack.l_mark[0].fill, yystack.l_mark[-3].name,
							       yystack.l_mark[-1].section_phdr, yystack.l_mark[-2].name);
			}
#line 4756 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 299:
#line 1133 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ ldlex_expression (); }
#line 4761 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 300:
#line 1135 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ ldlex_popstate (); }
#line 4766 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 301:
#line 1137 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{
			  lang_enter_overlay (yystack.l_mark[-5].etree, yystack.l_mark[-2].etree);
			}
#line 4773 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 302:
#line 1143 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{
			  if (yychar == NAME)
			    {
			      yyclearin;
			      ldlex_backup ();
			    }
			  lang_leave_overlay (yystack.l_mark[-10].etree, (int) yystack.l_mark[-11].integer,
					      yystack.l_mark[0].fill, yystack.l_mark[-3].name, yystack.l_mark[-1].section_phdr, yystack.l_mark[-2].name);
			}
#line 4786 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 304:
#line 1158 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ ldlex_expression (); }
#line 4791 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 305:
#line 1160 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{
			  ldlex_popstate ();
			  lang_add_assignment (exp_assign (".", yystack.l_mark[0].etree, false));
			}
#line 4799 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 307:
#line 1166 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{
			  ldfile_open_command_file (yystack.l_mark[0].name);
			}
#line 4806 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 309:
#line 1173 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ sectype = noload_section; }
#line 4811 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 310:
#line 1174 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ sectype = noalloc_section; }
#line 4816 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 311:
#line 1175 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ sectype = noalloc_section; }
#line 4821 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 312:
#line 1176 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ sectype = noalloc_section; }
#line 4826 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 313:
#line 1177 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ sectype = noalloc_section; }
#line 4831 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 314:
#line 1178 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ sectype = typed_readonly_section; sectype_value = yystack.l_mark[-1].etree; }
#line 4836 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 315:
#line 1179 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ sectype = readonly_section; }
#line 4841 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 316:
#line 1180 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ sectype = type_section; sectype_value = yystack.l_mark[0].etree; }
#line 4846 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 318:
#line 1185 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ sectype = normal_section; }
#line 4851 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 319:
#line 1186 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ sectype = normal_section; }
#line 4856 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 320:
#line 1190 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ yyval.etree = yystack.l_mark[-2].etree; }
#line 4861 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 321:
#line 1191 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ yyval.etree = (etree_type *)NULL;  }
#line 4866 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 322:
#line 1196 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ yyval.etree = yystack.l_mark[-3].etree; }
#line 4871 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 323:
#line 1198 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ yyval.etree = yystack.l_mark[-7].etree; }
#line 4876 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 324:
#line 1202 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ yyval.etree = yystack.l_mark[-1].etree; }
#line 4881 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 325:
#line 1203 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ yyval.etree = (etree_type *) NULL;  }
#line 4886 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 326:
#line 1208 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ yyval.integer = 0; }
#line 4891 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 327:
#line 1210 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ yyval.integer = 1; }
#line 4896 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 328:
#line 1215 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ yyval.name = yystack.l_mark[0].name; }
#line 4901 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 329:
#line 1216 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ yyval.name = DEFAULT_MEMORY_REGION; }
#line 4906 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 330:
#line 1221 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{
		  yyval.section_phdr = NULL;
		}
#line 4913 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 331:
#line 1225 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{
		  struct lang_output_section_phdr_list *n;

		  n = stat_alloc (sizeof *n);
		  n->name = yystack.l_mark[0].name;
		  n->used = false;
		  n->next = yystack.l_mark[-2].section_phdr;
		  yyval.section_phdr = n;
		}
#line 4926 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 333:
#line 1240 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{
			  ldlex_wild ();
			  lang_enter_overlay_section (yystack.l_mark[0].name);
			}
#line 4934 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 334:
#line 1247 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ ldlex_popstate (); }
#line 4939 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 335:
#line 1249 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{
			  if (yychar == NAME)
			    {
			      yyclearin;
			      ldlex_backup ();
			    }
			  lang_leave_overlay_section (yystack.l_mark[0].fill, yystack.l_mark[-1].section_phdr);
			}
#line 4951 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 340:
#line 1270 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ ldlex_expression (); }
#line 4956 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 341:
#line 1271 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{ ldlex_popstate (); }
#line 4961 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 342:
#line 1273 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{
		  lang_new_phdr (yystack.l_mark[-5].name, yystack.l_mark[-3].etree, yystack.l_mark[-2].phdr.filehdr, yystack.l_mark[-2].phdr.phdrs, yystack.l_mark[-2].phdr.at,
				 yystack.l_mark[-2].phdr.flags);
		}
#line 4969 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 343:
#line 1281 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{
		  yyval.etree = yystack.l_mark[0].etree;

		  if (yystack.l_mark[0].etree->type.node_class == etree_name
		      && yystack.l_mark[0].etree->type.node_code == NAME)
		    {
		      const char *s;
		      unsigned int i;
		      static const char * const phdr_types[] =
			{
			  "PT_NULL", "PT_LOAD", "PT_DYNAMIC",
			  "PT_INTERP", "PT_NOTE", "PT_SHLIB",
			  "PT_PHDR", "PT_TLS"
			};

		      s = yystack.l_mark[0].etree->name.name;
		      for (i = 0;
			   i < sizeof phdr_types / sizeof phdr_types[0];
			   i++)
			if (strcmp (s, phdr_types[i]) == 0)
			  {
			    yyval.etree = exp_intop (i);
			    break;
			  }
		      if (i == sizeof phdr_types / sizeof phdr_types[0])
			{
			  if (strcmp (s, "PT_GNU_EH_FRAME") == 0)
			    yyval.etree = exp_intop (0x6474e550);
			  else if (strcmp (s, "PT_GNU_STACK") == 0)
			    yyval.etree = exp_intop (0x6474e551);
			  else if (strcmp (s, "PT_GNU_RELRO") == 0)
			    yyval.etree = exp_intop (0x6474e552);
			  else if (strcmp (s, "PT_GNU_PROPERTY") == 0)
			    yyval.etree = exp_intop (0x6474e553);
			  else
			    {
			      einfo (_("\
%X%P:%pS: unknown phdr type `%s' (try integer literal)\n"),
				     NULL, s);
			      yyval.etree = exp_intop (0);
			    }
			}
		    }
		}
#line 5017 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 344:
#line 1329 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{
		  memset (&yyval.phdr, 0, sizeof (struct phdr_info));
		}
#line 5024 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 345:
#line 1333 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{
		  yyval.phdr = yystack.l_mark[0].phdr;
		  if (strcmp (yystack.l_mark[-2].name, "FILEHDR") == 0 && yystack.l_mark[-1].etree == NULL)
		    yyval.phdr.filehdr = true;
		  else if (strcmp (yystack.l_mark[-2].name, "PHDRS") == 0 && yystack.l_mark[-1].etree == NULL)
		    yyval.phdr.phdrs = true;
		  else if (strcmp (yystack.l_mark[-2].name, "FLAGS") == 0 && yystack.l_mark[-1].etree != NULL)
		    yyval.phdr.flags = yystack.l_mark[-1].etree;
		  else
		    einfo (_("%X%P:%pS: PHDRS syntax error at `%s'\n"),
			   NULL, yystack.l_mark[-2].name);
		}
#line 5040 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 346:
#line 1346 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{
		  yyval.phdr = yystack.l_mark[0].phdr;
		  yyval.phdr.at = yystack.l_mark[-2].etree;
		}
#line 5048 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 347:
#line 1354 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{
		  yyval.etree = NULL;
		}
#line 5055 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 348:
#line 1358 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{
		  yyval.etree = yystack.l_mark[-1].etree;
		}
#line 5062 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 349:
#line 1364 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{
		  ldlex_version_file ();
		  PUSH_ERROR (_("dynamic list"));
		}
#line 5070 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 350:
#line 1369 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{
		  ldlex_popstate ();
		  POP_ERROR ();
		}
#line 5078 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 354:
#line 1386 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{
		  lang_append_dynamic_list (current_dynamic_list_p, yystack.l_mark[-1].versyms);
		}
#line 5085 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 355:
#line 1394 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{
		  ldlex_version_file ();
		  PUSH_ERROR (_("VERSION script"));
		}
#line 5093 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 356:
#line 1399 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{
		  ldlex_popstate ();
		  POP_ERROR ();
		}
#line 5101 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 357:
#line 1408 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{
		  ldlex_version_script ();
		}
#line 5108 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 358:
#line 1412 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{
		  ldlex_popstate ();
		}
#line 5115 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 361:
#line 1424 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{
		  lang_register_vers_node (NULL, yystack.l_mark[-2].versnode, NULL);
		}
#line 5122 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 362:
#line 1428 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{
		  lang_register_vers_node (yystack.l_mark[-4].name, yystack.l_mark[-2].versnode, NULL);
		}
#line 5129 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 363:
#line 1432 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{
		  lang_register_vers_node (yystack.l_mark[-5].name, yystack.l_mark[-3].versnode, yystack.l_mark[-1].deflist);
		}
#line 5136 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 364:
#line 1439 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{
		  yyval.deflist = lang_add_vers_depend (NULL, yystack.l_mark[0].name);
		}
#line 5143 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 365:
#line 1443 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{
		  yyval.deflist = lang_add_vers_depend (yystack.l_mark[-1].deflist, yystack.l_mark[0].name);
		}
#line 5150 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 366:
#line 1450 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{
		  yyval.versnode = lang_new_vers_node (NULL, NULL);
		}
#line 5157 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 367:
#line 1454 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{
		  yyval.versnode = lang_new_vers_node (yystack.l_mark[-1].versyms, NULL);
		}
#line 5164 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 368:
#line 1458 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{
		  yyval.versnode = lang_new_vers_node (yystack.l_mark[-1].versyms, NULL);
		}
#line 5171 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 369:
#line 1462 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{
		  yyval.versnode = lang_new_vers_node (NULL, yystack.l_mark[-1].versyms);
		}
#line 5178 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 370:
#line 1466 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{
		  yyval.versnode = lang_new_vers_node (yystack.l_mark[-5].versyms, yystack.l_mark[-1].versyms);
		}
#line 5185 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 371:
#line 1473 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{
		  yyval.versyms = lang_new_vers_pattern (NULL, yystack.l_mark[0].name, ldgram_vers_current_lang, false);
		}
#line 5192 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 372:
#line 1477 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{
		  yyval.versyms = lang_new_vers_pattern (NULL, yystack.l_mark[0].name, ldgram_vers_current_lang, true);
		}
#line 5199 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 373:
#line 1481 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{
		  yyval.versyms = lang_new_vers_pattern (yystack.l_mark[-2].versyms, yystack.l_mark[0].name, ldgram_vers_current_lang, false);
		}
#line 5206 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 374:
#line 1485 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{
		  yyval.versyms = lang_new_vers_pattern (yystack.l_mark[-2].versyms, yystack.l_mark[0].name, ldgram_vers_current_lang, true);
		}
#line 5213 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 375:
#line 1489 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{
			  yyval.name = ldgram_vers_current_lang;
			  ldgram_vers_current_lang = yystack.l_mark[-1].name;
			}
#line 5221 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 376:
#line 1494 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{
			  struct bfd_elf_version_expr *pat;
			  for (pat = yystack.l_mark[-2].versyms; pat->next != NULL; pat = pat->next);
			  pat->next = yystack.l_mark[-8].versyms;
			  yyval.versyms = yystack.l_mark[-2].versyms;
			  ldgram_vers_current_lang = yystack.l_mark[-3].name;
			}
#line 5232 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 377:
#line 1502 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{
			  yyval.name = ldgram_vers_current_lang;
			  ldgram_vers_current_lang = yystack.l_mark[-1].name;
			}
#line 5240 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 378:
#line 1507 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{
			  yyval.versyms = yystack.l_mark[-2].versyms;
			  ldgram_vers_current_lang = yystack.l_mark[-3].name;
			}
#line 5248 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 379:
#line 1512 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{
		  yyval.versyms = lang_new_vers_pattern (NULL, "global", ldgram_vers_current_lang, false);
		}
#line 5255 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 380:
#line 1516 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{
		  yyval.versyms = lang_new_vers_pattern (yystack.l_mark[-2].versyms, "global", ldgram_vers_current_lang, false);
		}
#line 5262 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 381:
#line 1520 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{
		  yyval.versyms = lang_new_vers_pattern (NULL, "local", ldgram_vers_current_lang, false);
		}
#line 5269 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 382:
#line 1524 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{
		  yyval.versyms = lang_new_vers_pattern (yystack.l_mark[-2].versyms, "local", ldgram_vers_current_lang, false);
		}
#line 5276 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 383:
#line 1528 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{
		  yyval.versyms = lang_new_vers_pattern (NULL, "extern", ldgram_vers_current_lang, false);
		}
#line 5283 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 384:
#line 1532 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{
		  yyval.versyms = lang_new_vers_pattern (yystack.l_mark[-2].versyms, "extern", ldgram_vers_current_lang, false);
		}
#line 5290 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 387:
#line 1543 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{
		  ldlex_script ();
		  PUSH_ERROR (_("section-ordering-file script"));
		}
#line 5298 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 388:
#line 1548 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{
		  ldlex_popstate ();
		  POP_ERROR ();
		}
#line 5306 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 392:
#line 1561 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{
		  ldlex_wild ();
		  lang_enter_output_section_statement
		    (yystack.l_mark[-1].name, NULL, 0, NULL, NULL, NULL, NULL, 0, 0);
		}
#line 5315 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
case 393:
#line 1569 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.y"
	{
		  ldlex_popstate ();
		  lang_leave_output_section_statement (NULL, NULL, NULL, NULL);
		}
#line 5323 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
break;
#line 5325 "/net/quasar/src-5/NetBSD/src/tools/binutils/../../external/gpl3/binutils/dist/ld/ldgram.c"
    default:
        break;
    }
    yystack.s_mark -= yym;
    yystate = *yystack.s_mark;
    yystack.l_mark -= yym;
#if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED)
    yystack.p_mark -= yym;
#endif
    yym = yylhs[yyn];
    if (yystate == 0 && yym == 0)
    {
#if YYDEBUG
        if (yydebug)
        {
            fprintf(stderr, "%s[%d]: after reduction, ", YYDEBUGSTR, yydepth);
#ifdef YYSTYPE_TOSTRING
#if YYBTYACC
            if (!yytrial)
#endif /* YYBTYACC */
                fprintf(stderr, "result is <%s>, ", YYSTYPE_TOSTRING(yystos[YYFINAL], yyval));
#endif
            fprintf(stderr, "shifting from state 0 to final state %d\n", YYFINAL);
        }
#endif
        yystate = YYFINAL;
        *++yystack.s_mark = YYFINAL;
        *++yystack.l_mark = yyval;
#if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED)
        *++yystack.p_mark = yyloc;
#endif
        if (yychar < 0)
        {
#if YYBTYACC
            do {
            if (yylvp < yylve)
            {
                /* we're currently re-reading tokens */
                yylval = *yylvp++;
#if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED)
                yylloc = *yylpp++;
#endif
                yychar = *yylexp++;
                break;
            }
            if (yyps->save)
            {
                /* in trial mode; save scanner results for future parse attempts */
                if (yylvp == yylvlim)
                {   /* Enlarge lexical value queue */
                    size_t p = (size_t) (yylvp - yylvals);
                    size_t s = (size_t) (yylvlim - yylvals);

                    s += YYLVQUEUEGROWTH;
                    if ((yylexemes = (YYINT *)realloc(yylexemes, s * sizeof(YYINT))) == NULL)
                        goto yyenomem;
                    if ((yylvals   = (YYSTYPE *)realloc(yylvals, s * sizeof(YYSTYPE))) == NULL)
                        goto yyenomem;
#if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED)
                    if ((yylpsns   = (YYLTYPE *)realloc(yylpsns, s * sizeof(YYLTYPE))) == NULL)
                        goto yyenomem;
#endif
                    yylvp   = yylve = yylvals + p;
                    yylvlim = yylvals + s;
#if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED)
                    yylpp   = yylpe = yylpsns + p;
                    yylplim = yylpsns + s;
#endif
                    yylexp  = yylexemes + p;
                }
                *yylexp = (YYINT) YYLEX;
                *yylvp++ = yylval;
                yylve++;
#if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED)
                *yylpp++ = yylloc;
                yylpe++;
#endif
                yychar = *yylexp++;
                break;
            }
            /* normal operation, no conflict encountered */
#endif /* YYBTYACC */
            yychar = YYLEX;
#if YYBTYACC
            } while (0);
#endif /* YYBTYACC */
            if (yychar < 0) yychar = YYEOF;
#if YYDEBUG
            if (yydebug)
            {
                if ((yys = yyname[YYTRANSLATE(yychar)]) == NULL) yys = yyname[YYUNDFTOKEN];
                fprintf(stderr, "%s[%d]: state %d, reading token %d (%s)\n",
                                YYDEBUGSTR, yydepth, YYFINAL, yychar, yys);
            }
#endif
        }
        if (yychar == YYEOF) goto yyaccept;
        goto yyloop;
    }
    if (((yyn = yygindex[yym]) != 0) && (yyn += yystate) >= 0 &&
            yyn <= YYTABLESIZE && yycheck[yyn] == (YYINT) yystate)
        yystate = yytable[yyn];
    else
        yystate = yydgoto[yym];
#if YYDEBUG
    if (yydebug)
    {
        fprintf(stderr, "%s[%d]: after reduction, ", YYDEBUGSTR, yydepth);
#ifdef YYSTYPE_TOSTRING
#if YYBTYACC
        if (!yytrial)
#endif /* YYBTYACC */
            fprintf(stderr, "result is <%s>, ", YYSTYPE_TOSTRING(yystos[yystate], yyval));
#endif
        fprintf(stderr, "shifting from state %d to state %d\n", *yystack.s_mark, yystate);
    }
#endif
    if (yystack.s_mark >= yystack.s_last && yygrowstack(&yystack) == YYENOMEM) goto yyoverflow;
    *++yystack.s_mark = (YYINT) yystate;
    *++yystack.l_mark = yyval;
#if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED)
    *++yystack.p_mark = yyloc;
#endif
    goto yyloop;
#if YYBTYACC

    /* Reduction declares that this path is valid. Set yypath and do a full parse */
yyvalid:
    if (yypath) YYABORT;
    while (yyps->save)
    {
        YYParseState *save = yyps->save;
        yyps->save = save->save;
        save->save = yypath;
        yypath = save;
    }
#if YYDEBUG
    if (yydebug)
        fprintf(stderr, "%s[%d]: state %d, CONFLICT trial successful, backtracking to state %d, %d tokens\n",
                        YYDEBUGSTR, yydepth, yystate, yypath->state, (int)(yylvp - yylvals - yypath->lexeme));
#endif
    if (yyerrctx)
    {
        yyFreeState(yyerrctx);
        yyerrctx = NULL;
    }
    yylvp          = yylvals + yypath->lexeme;
#if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED)
    yylpp          = yylpsns + yypath->lexeme;
#endif
    yylexp         = yylexemes + yypath->lexeme;
    yychar         = YYEMPTY;
    yystack.s_mark = yystack.s_base + (yypath->yystack.s_mark - yypath->yystack.s_base);
    memcpy (yystack.s_base, yypath->yystack.s_base, (size_t) (yystack.s_mark - yystack.s_base + 1) * sizeof(YYINT));
    yystack.l_mark = yystack.l_base + (yypath->yystack.l_mark - yypath->yystack.l_base);
    memcpy (yystack.l_base, yypath->yystack.l_base, (size_t) (yystack.l_mark - yystack.l_base + 1) * sizeof(YYSTYPE));
#if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED)
    yystack.p_mark = yystack.p_base + (yypath->yystack.p_mark - yypath->yystack.p_base);
    memcpy (yystack.p_base, yypath->yystack.p_base, (size_t) (yystack.p_mark - yystack.p_base + 1) * sizeof(YYLTYPE));
#endif
    yystate        = yypath->state;
    goto yyloop;
#endif /* YYBTYACC */

yyoverflow:
    YYERROR_CALL("yacc stack overflow");
#if YYBTYACC
    goto yyabort_nomem;
yyenomem:
    YYERROR_CALL("memory exhausted");
yyabort_nomem:
#endif /* YYBTYACC */
    yyresult = 2;
    goto yyreturn;

yyabort:
    yyresult = 1;
    goto yyreturn;

yyaccept:
#if YYBTYACC
    if (yyps->save) goto yyvalid;
#endif /* YYBTYACC */
    yyresult = 0;

yyreturn:
#if defined(YYDESTRUCT_CALL)
    if (yychar != YYEOF && yychar != YYEMPTY)
#if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED)
        YYDESTRUCT_CALL("cleanup: discarding token", yychar, &yylval, &yylloc);
#else
        YYDESTRUCT_CALL("cleanup: discarding token", yychar, &yylval);
#endif /* defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED) */

    {
        YYSTYPE *pv;
#if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED)
        YYLTYPE *pp;

        for (pv = yystack.l_base, pp = yystack.p_base; pv <= yystack.l_mark; ++pv, ++pp)
             YYDESTRUCT_CALL("cleanup: discarding state",
                             yystos[*(yystack.s_base + (pv - yystack.l_base))], pv, pp);
#else
        for (pv = yystack.l_base; pv <= yystack.l_mark; ++pv)
             YYDESTRUCT_CALL("cleanup: discarding state",
                             yystos[*(yystack.s_base + (pv - yystack.l_base))], pv);
#endif /* defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED) */
    }
#endif /* defined(YYDESTRUCT_CALL) */

#if YYBTYACC
    if (yyerrctx)
    {
        yyFreeState(yyerrctx);
        yyerrctx = NULL;
    }
    while (yyps)
    {
        YYParseState *save = yyps;
        yyps = save->save;
        save->save = NULL;
        yyFreeState(save);
    }
    while (yypath)
    {
        YYParseState *save = yypath;
        yypath = save->save;
        save->save = NULL;
        yyFreeState(save);
    }
#endif /* YYBTYACC */
    yyfreestack(&yystack);
    return (yyresult);
}
