Path: blob/master/thirdparty/glslang/glslang/MachineIndependent/glslang_tab.cpp
11347 views
/* A Bison parser, made by GNU Bison 3.8.2. */12/* Bison implementation for Yacc-like parsers in C34Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2021 Free Software Foundation,5Inc.67This program is free software: you can redistribute it and/or modify8it under the terms of the GNU General Public License as published by9the Free Software Foundation, either version 3 of the License, or10(at your option) any later version.1112This program is distributed in the hope that it will be useful,13but WITHOUT ANY WARRANTY; without even the implied warranty of14MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the15GNU General Public License for more details.1617You should have received a copy of the GNU General Public License18along with this program. If not, see <https://www.gnu.org/licenses/>. */1920/* As a special exception, you may create a larger work that contains21part or all of the Bison parser skeleton and distribute that work22under terms of your choice, so long as that work isn't itself a23parser generator using the skeleton or a modified version thereof24as a parser skeleton. Alternatively, if you modify or redistribute25the parser skeleton itself, you may (at your option) remove this26special exception, which will cause the skeleton and the resulting27Bison output files to be licensed under the GNU General Public28License without this special exception.2930This special exception was added by the Free Software Foundation in31version 2.2 of Bison. */3233/* C LALR(1) parser skeleton written by Richard Stallman, by34simplifying the original so-called "semantic" parser. */3536/* DO NOT RELY ON FEATURES THAT ARE NOT DOCUMENTED in the manual,37especially those whose name start with YY_ or yy_. They are38private implementation details that can be changed or removed. */3940/* All symbols defined below should begin with yy or YY, to avoid41infringing on user name space. This should be done even for local42variables, as they might otherwise be expanded by user macros.43There are some unavoidable exceptions within include files to44define necessary library symbols; they are noted "INFRINGES ON45USER NAME SPACE" below. */4647/* Identify Bison output, and Bison version. */48#define YYBISON 308024950/* Bison version string. */51#define YYBISON_VERSION "3.8.2"5253/* Skeleton name. */54#define YYSKELETON_NAME "yacc.c"5556/* Pure parsers. */57#define YYPURE 15859/* Push parsers. */60#define YYPUSH 06162/* Pull parsers. */63#define YYPULL 16465666768/* First part of user prologue. */69#line 44 "MachineIndependent/glslang.y"707172/* Based on:73ANSI C Yacc grammar7475In 1985, Jeff Lee published his Yacc grammar (which is accompanied by a76matching Lex specification) for the April 30, 1985 draft version of the77ANSI C standard. Tom Stockfisch reposted it to net.sources in 1987; that78original, as mentioned in the answer to question 17.25 of the comp.lang.c79FAQ, can be ftp'ed from ftp.uu.net, file usenet/net.sources/ansi.c.grammar.Z.8081I intend to keep this version as close to the current C Standard grammar as82possible; please let me know if you discover discrepancies.8384Jutta Degener, 199585*/8687#include "SymbolTable.h"88#include "ParseHelper.h"89#include "../Public/ShaderLang.h"90#include "attribute.h"9192using namespace glslang;939495#line 97 "MachineIndependent/glslang_tab.cpp"9697# ifndef YY_CAST98# ifdef __cplusplus99# define YY_CAST(Type, Val) static_cast<Type> (Val)100# define YY_REINTERPRET_CAST(Type, Val) reinterpret_cast<Type> (Val)101# else102# define YY_CAST(Type, Val) ((Type) (Val))103# define YY_REINTERPRET_CAST(Type, Val) ((Type) (Val))104# endif105# endif106# ifndef YY_NULLPTR107# if defined __cplusplus108# if 201103L <= __cplusplus109# define YY_NULLPTR nullptr110# else111# define YY_NULLPTR 0112# endif113# else114# define YY_NULLPTR ((void*)0)115# endif116# endif117118#include "glslang_tab.cpp.h"119/* Symbol kind. */120enum yysymbol_kind_t121{122YYSYMBOL_YYEMPTY = -2,123YYSYMBOL_YYEOF = 0, /* "end of file" */124YYSYMBOL_YYerror = 1, /* error */125YYSYMBOL_YYUNDEF = 2, /* "invalid token" */126YYSYMBOL_CONST = 3, /* CONST */127YYSYMBOL_BOOL = 4, /* BOOL */128YYSYMBOL_INT = 5, /* INT */129YYSYMBOL_UINT = 6, /* UINT */130YYSYMBOL_FLOAT = 7, /* FLOAT */131YYSYMBOL_BVEC2 = 8, /* BVEC2 */132YYSYMBOL_BVEC3 = 9, /* BVEC3 */133YYSYMBOL_BVEC4 = 10, /* BVEC4 */134YYSYMBOL_IVEC2 = 11, /* IVEC2 */135YYSYMBOL_IVEC3 = 12, /* IVEC3 */136YYSYMBOL_IVEC4 = 13, /* IVEC4 */137YYSYMBOL_UVEC2 = 14, /* UVEC2 */138YYSYMBOL_UVEC3 = 15, /* UVEC3 */139YYSYMBOL_UVEC4 = 16, /* UVEC4 */140YYSYMBOL_VEC2 = 17, /* VEC2 */141YYSYMBOL_VEC3 = 18, /* VEC3 */142YYSYMBOL_VEC4 = 19, /* VEC4 */143YYSYMBOL_MAT2 = 20, /* MAT2 */144YYSYMBOL_MAT3 = 21, /* MAT3 */145YYSYMBOL_MAT4 = 22, /* MAT4 */146YYSYMBOL_MAT2X2 = 23, /* MAT2X2 */147YYSYMBOL_MAT2X3 = 24, /* MAT2X3 */148YYSYMBOL_MAT2X4 = 25, /* MAT2X4 */149YYSYMBOL_MAT3X2 = 26, /* MAT3X2 */150YYSYMBOL_MAT3X3 = 27, /* MAT3X3 */151YYSYMBOL_MAT3X4 = 28, /* MAT3X4 */152YYSYMBOL_MAT4X2 = 29, /* MAT4X2 */153YYSYMBOL_MAT4X3 = 30, /* MAT4X3 */154YYSYMBOL_MAT4X4 = 31, /* MAT4X4 */155YYSYMBOL_SAMPLER2D = 32, /* SAMPLER2D */156YYSYMBOL_SAMPLER3D = 33, /* SAMPLER3D */157YYSYMBOL_SAMPLERCUBE = 34, /* SAMPLERCUBE */158YYSYMBOL_SAMPLER2DSHADOW = 35, /* SAMPLER2DSHADOW */159YYSYMBOL_SAMPLERCUBESHADOW = 36, /* SAMPLERCUBESHADOW */160YYSYMBOL_SAMPLER2DARRAY = 37, /* SAMPLER2DARRAY */161YYSYMBOL_SAMPLER2DARRAYSHADOW = 38, /* SAMPLER2DARRAYSHADOW */162YYSYMBOL_ISAMPLER2D = 39, /* ISAMPLER2D */163YYSYMBOL_ISAMPLER3D = 40, /* ISAMPLER3D */164YYSYMBOL_ISAMPLERCUBE = 41, /* ISAMPLERCUBE */165YYSYMBOL_ISAMPLER2DARRAY = 42, /* ISAMPLER2DARRAY */166YYSYMBOL_USAMPLER2D = 43, /* USAMPLER2D */167YYSYMBOL_USAMPLER3D = 44, /* USAMPLER3D */168YYSYMBOL_USAMPLERCUBE = 45, /* USAMPLERCUBE */169YYSYMBOL_USAMPLER2DARRAY = 46, /* USAMPLER2DARRAY */170YYSYMBOL_SAMPLER = 47, /* SAMPLER */171YYSYMBOL_SAMPLERSHADOW = 48, /* SAMPLERSHADOW */172YYSYMBOL_TEXTURE2D = 49, /* TEXTURE2D */173YYSYMBOL_TEXTURE3D = 50, /* TEXTURE3D */174YYSYMBOL_TEXTURECUBE = 51, /* TEXTURECUBE */175YYSYMBOL_TEXTURE2DARRAY = 52, /* TEXTURE2DARRAY */176YYSYMBOL_ITEXTURE2D = 53, /* ITEXTURE2D */177YYSYMBOL_ITEXTURE3D = 54, /* ITEXTURE3D */178YYSYMBOL_ITEXTURECUBE = 55, /* ITEXTURECUBE */179YYSYMBOL_ITEXTURE2DARRAY = 56, /* ITEXTURE2DARRAY */180YYSYMBOL_UTEXTURE2D = 57, /* UTEXTURE2D */181YYSYMBOL_UTEXTURE3D = 58, /* UTEXTURE3D */182YYSYMBOL_UTEXTURECUBE = 59, /* UTEXTURECUBE */183YYSYMBOL_UTEXTURE2DARRAY = 60, /* UTEXTURE2DARRAY */184YYSYMBOL_ATTRIBUTE = 61, /* ATTRIBUTE */185YYSYMBOL_VARYING = 62, /* VARYING */186YYSYMBOL_FLOAT16_T = 63, /* FLOAT16_T */187YYSYMBOL_FLOAT32_T = 64, /* FLOAT32_T */188YYSYMBOL_DOUBLE = 65, /* DOUBLE */189YYSYMBOL_FLOAT64_T = 66, /* FLOAT64_T */190YYSYMBOL_INT64_T = 67, /* INT64_T */191YYSYMBOL_UINT64_T = 68, /* UINT64_T */192YYSYMBOL_INT32_T = 69, /* INT32_T */193YYSYMBOL_UINT32_T = 70, /* UINT32_T */194YYSYMBOL_INT16_T = 71, /* INT16_T */195YYSYMBOL_UINT16_T = 72, /* UINT16_T */196YYSYMBOL_INT8_T = 73, /* INT8_T */197YYSYMBOL_UINT8_T = 74, /* UINT8_T */198YYSYMBOL_I64VEC2 = 75, /* I64VEC2 */199YYSYMBOL_I64VEC3 = 76, /* I64VEC3 */200YYSYMBOL_I64VEC4 = 77, /* I64VEC4 */201YYSYMBOL_U64VEC2 = 78, /* U64VEC2 */202YYSYMBOL_U64VEC3 = 79, /* U64VEC3 */203YYSYMBOL_U64VEC4 = 80, /* U64VEC4 */204YYSYMBOL_I32VEC2 = 81, /* I32VEC2 */205YYSYMBOL_I32VEC3 = 82, /* I32VEC3 */206YYSYMBOL_I32VEC4 = 83, /* I32VEC4 */207YYSYMBOL_U32VEC2 = 84, /* U32VEC2 */208YYSYMBOL_U32VEC3 = 85, /* U32VEC3 */209YYSYMBOL_U32VEC4 = 86, /* U32VEC4 */210YYSYMBOL_I16VEC2 = 87, /* I16VEC2 */211YYSYMBOL_I16VEC3 = 88, /* I16VEC3 */212YYSYMBOL_I16VEC4 = 89, /* I16VEC4 */213YYSYMBOL_U16VEC2 = 90, /* U16VEC2 */214YYSYMBOL_U16VEC3 = 91, /* U16VEC3 */215YYSYMBOL_U16VEC4 = 92, /* U16VEC4 */216YYSYMBOL_I8VEC2 = 93, /* I8VEC2 */217YYSYMBOL_I8VEC3 = 94, /* I8VEC3 */218YYSYMBOL_I8VEC4 = 95, /* I8VEC4 */219YYSYMBOL_U8VEC2 = 96, /* U8VEC2 */220YYSYMBOL_U8VEC3 = 97, /* U8VEC3 */221YYSYMBOL_U8VEC4 = 98, /* U8VEC4 */222YYSYMBOL_DVEC2 = 99, /* DVEC2 */223YYSYMBOL_DVEC3 = 100, /* DVEC3 */224YYSYMBOL_DVEC4 = 101, /* DVEC4 */225YYSYMBOL_DMAT2 = 102, /* DMAT2 */226YYSYMBOL_DMAT3 = 103, /* DMAT3 */227YYSYMBOL_DMAT4 = 104, /* DMAT4 */228YYSYMBOL_F16VEC2 = 105, /* F16VEC2 */229YYSYMBOL_F16VEC3 = 106, /* F16VEC3 */230YYSYMBOL_F16VEC4 = 107, /* F16VEC4 */231YYSYMBOL_F16MAT2 = 108, /* F16MAT2 */232YYSYMBOL_F16MAT3 = 109, /* F16MAT3 */233YYSYMBOL_F16MAT4 = 110, /* F16MAT4 */234YYSYMBOL_F32VEC2 = 111, /* F32VEC2 */235YYSYMBOL_F32VEC3 = 112, /* F32VEC3 */236YYSYMBOL_F32VEC4 = 113, /* F32VEC4 */237YYSYMBOL_F32MAT2 = 114, /* F32MAT2 */238YYSYMBOL_F32MAT3 = 115, /* F32MAT3 */239YYSYMBOL_F32MAT4 = 116, /* F32MAT4 */240YYSYMBOL_F64VEC2 = 117, /* F64VEC2 */241YYSYMBOL_F64VEC3 = 118, /* F64VEC3 */242YYSYMBOL_F64VEC4 = 119, /* F64VEC4 */243YYSYMBOL_F64MAT2 = 120, /* F64MAT2 */244YYSYMBOL_F64MAT3 = 121, /* F64MAT3 */245YYSYMBOL_F64MAT4 = 122, /* F64MAT4 */246YYSYMBOL_DMAT2X2 = 123, /* DMAT2X2 */247YYSYMBOL_DMAT2X3 = 124, /* DMAT2X3 */248YYSYMBOL_DMAT2X4 = 125, /* DMAT2X4 */249YYSYMBOL_DMAT3X2 = 126, /* DMAT3X2 */250YYSYMBOL_DMAT3X3 = 127, /* DMAT3X3 */251YYSYMBOL_DMAT3X4 = 128, /* DMAT3X4 */252YYSYMBOL_DMAT4X2 = 129, /* DMAT4X2 */253YYSYMBOL_DMAT4X3 = 130, /* DMAT4X3 */254YYSYMBOL_DMAT4X4 = 131, /* DMAT4X4 */255YYSYMBOL_F16MAT2X2 = 132, /* F16MAT2X2 */256YYSYMBOL_F16MAT2X3 = 133, /* F16MAT2X3 */257YYSYMBOL_F16MAT2X4 = 134, /* F16MAT2X4 */258YYSYMBOL_F16MAT3X2 = 135, /* F16MAT3X2 */259YYSYMBOL_F16MAT3X3 = 136, /* F16MAT3X3 */260YYSYMBOL_F16MAT3X4 = 137, /* F16MAT3X4 */261YYSYMBOL_F16MAT4X2 = 138, /* F16MAT4X2 */262YYSYMBOL_F16MAT4X3 = 139, /* F16MAT4X3 */263YYSYMBOL_F16MAT4X4 = 140, /* F16MAT4X4 */264YYSYMBOL_F32MAT2X2 = 141, /* F32MAT2X2 */265YYSYMBOL_F32MAT2X3 = 142, /* F32MAT2X3 */266YYSYMBOL_F32MAT2X4 = 143, /* F32MAT2X4 */267YYSYMBOL_F32MAT3X2 = 144, /* F32MAT3X2 */268YYSYMBOL_F32MAT3X3 = 145, /* F32MAT3X3 */269YYSYMBOL_F32MAT3X4 = 146, /* F32MAT3X4 */270YYSYMBOL_F32MAT4X2 = 147, /* F32MAT4X2 */271YYSYMBOL_F32MAT4X3 = 148, /* F32MAT4X3 */272YYSYMBOL_F32MAT4X4 = 149, /* F32MAT4X4 */273YYSYMBOL_F64MAT2X2 = 150, /* F64MAT2X2 */274YYSYMBOL_F64MAT2X3 = 151, /* F64MAT2X3 */275YYSYMBOL_F64MAT2X4 = 152, /* F64MAT2X4 */276YYSYMBOL_F64MAT3X2 = 153, /* F64MAT3X2 */277YYSYMBOL_F64MAT3X3 = 154, /* F64MAT3X3 */278YYSYMBOL_F64MAT3X4 = 155, /* F64MAT3X4 */279YYSYMBOL_F64MAT4X2 = 156, /* F64MAT4X2 */280YYSYMBOL_F64MAT4X3 = 157, /* F64MAT4X3 */281YYSYMBOL_F64MAT4X4 = 158, /* F64MAT4X4 */282YYSYMBOL_ATOMIC_UINT = 159, /* ATOMIC_UINT */283YYSYMBOL_ACCSTRUCTNV = 160, /* ACCSTRUCTNV */284YYSYMBOL_ACCSTRUCTEXT = 161, /* ACCSTRUCTEXT */285YYSYMBOL_RAYQUERYEXT = 162, /* RAYQUERYEXT */286YYSYMBOL_FCOOPMATNV = 163, /* FCOOPMATNV */287YYSYMBOL_ICOOPMATNV = 164, /* ICOOPMATNV */288YYSYMBOL_UCOOPMATNV = 165, /* UCOOPMATNV */289YYSYMBOL_COOPMAT = 166, /* COOPMAT */290YYSYMBOL_HITOBJECTNV = 167, /* HITOBJECTNV */291YYSYMBOL_HITOBJECTATTRNV = 168, /* HITOBJECTATTRNV */292YYSYMBOL_SAMPLERCUBEARRAY = 169, /* SAMPLERCUBEARRAY */293YYSYMBOL_SAMPLERCUBEARRAYSHADOW = 170, /* SAMPLERCUBEARRAYSHADOW */294YYSYMBOL_ISAMPLERCUBEARRAY = 171, /* ISAMPLERCUBEARRAY */295YYSYMBOL_USAMPLERCUBEARRAY = 172, /* USAMPLERCUBEARRAY */296YYSYMBOL_SAMPLER1D = 173, /* SAMPLER1D */297YYSYMBOL_SAMPLER1DARRAY = 174, /* SAMPLER1DARRAY */298YYSYMBOL_SAMPLER1DARRAYSHADOW = 175, /* SAMPLER1DARRAYSHADOW */299YYSYMBOL_ISAMPLER1D = 176, /* ISAMPLER1D */300YYSYMBOL_SAMPLER1DSHADOW = 177, /* SAMPLER1DSHADOW */301YYSYMBOL_SAMPLER2DRECT = 178, /* SAMPLER2DRECT */302YYSYMBOL_SAMPLER2DRECTSHADOW = 179, /* SAMPLER2DRECTSHADOW */303YYSYMBOL_ISAMPLER2DRECT = 180, /* ISAMPLER2DRECT */304YYSYMBOL_USAMPLER2DRECT = 181, /* USAMPLER2DRECT */305YYSYMBOL_SAMPLERBUFFER = 182, /* SAMPLERBUFFER */306YYSYMBOL_ISAMPLERBUFFER = 183, /* ISAMPLERBUFFER */307YYSYMBOL_USAMPLERBUFFER = 184, /* USAMPLERBUFFER */308YYSYMBOL_SAMPLER2DMS = 185, /* SAMPLER2DMS */309YYSYMBOL_ISAMPLER2DMS = 186, /* ISAMPLER2DMS */310YYSYMBOL_USAMPLER2DMS = 187, /* USAMPLER2DMS */311YYSYMBOL_SAMPLER2DMSARRAY = 188, /* SAMPLER2DMSARRAY */312YYSYMBOL_ISAMPLER2DMSARRAY = 189, /* ISAMPLER2DMSARRAY */313YYSYMBOL_USAMPLER2DMSARRAY = 190, /* USAMPLER2DMSARRAY */314YYSYMBOL_SAMPLEREXTERNALOES = 191, /* SAMPLEREXTERNALOES */315YYSYMBOL_SAMPLEREXTERNAL2DY2YEXT = 192, /* SAMPLEREXTERNAL2DY2YEXT */316YYSYMBOL_ISAMPLER1DARRAY = 193, /* ISAMPLER1DARRAY */317YYSYMBOL_USAMPLER1D = 194, /* USAMPLER1D */318YYSYMBOL_USAMPLER1DARRAY = 195, /* USAMPLER1DARRAY */319YYSYMBOL_F16SAMPLER1D = 196, /* F16SAMPLER1D */320YYSYMBOL_F16SAMPLER2D = 197, /* F16SAMPLER2D */321YYSYMBOL_F16SAMPLER3D = 198, /* F16SAMPLER3D */322YYSYMBOL_F16SAMPLER2DRECT = 199, /* F16SAMPLER2DRECT */323YYSYMBOL_F16SAMPLERCUBE = 200, /* F16SAMPLERCUBE */324YYSYMBOL_F16SAMPLER1DARRAY = 201, /* F16SAMPLER1DARRAY */325YYSYMBOL_F16SAMPLER2DARRAY = 202, /* F16SAMPLER2DARRAY */326YYSYMBOL_F16SAMPLERCUBEARRAY = 203, /* F16SAMPLERCUBEARRAY */327YYSYMBOL_F16SAMPLERBUFFER = 204, /* F16SAMPLERBUFFER */328YYSYMBOL_F16SAMPLER2DMS = 205, /* F16SAMPLER2DMS */329YYSYMBOL_F16SAMPLER2DMSARRAY = 206, /* F16SAMPLER2DMSARRAY */330YYSYMBOL_F16SAMPLER1DSHADOW = 207, /* F16SAMPLER1DSHADOW */331YYSYMBOL_F16SAMPLER2DSHADOW = 208, /* F16SAMPLER2DSHADOW */332YYSYMBOL_F16SAMPLER1DARRAYSHADOW = 209, /* F16SAMPLER1DARRAYSHADOW */333YYSYMBOL_F16SAMPLER2DARRAYSHADOW = 210, /* F16SAMPLER2DARRAYSHADOW */334YYSYMBOL_F16SAMPLER2DRECTSHADOW = 211, /* F16SAMPLER2DRECTSHADOW */335YYSYMBOL_F16SAMPLERCUBESHADOW = 212, /* F16SAMPLERCUBESHADOW */336YYSYMBOL_F16SAMPLERCUBEARRAYSHADOW = 213, /* F16SAMPLERCUBEARRAYSHADOW */337YYSYMBOL_IMAGE1D = 214, /* IMAGE1D */338YYSYMBOL_IIMAGE1D = 215, /* IIMAGE1D */339YYSYMBOL_UIMAGE1D = 216, /* UIMAGE1D */340YYSYMBOL_IMAGE2D = 217, /* IMAGE2D */341YYSYMBOL_IIMAGE2D = 218, /* IIMAGE2D */342YYSYMBOL_UIMAGE2D = 219, /* UIMAGE2D */343YYSYMBOL_IMAGE3D = 220, /* IMAGE3D */344YYSYMBOL_IIMAGE3D = 221, /* IIMAGE3D */345YYSYMBOL_UIMAGE3D = 222, /* UIMAGE3D */346YYSYMBOL_IMAGE2DRECT = 223, /* IMAGE2DRECT */347YYSYMBOL_IIMAGE2DRECT = 224, /* IIMAGE2DRECT */348YYSYMBOL_UIMAGE2DRECT = 225, /* UIMAGE2DRECT */349YYSYMBOL_IMAGECUBE = 226, /* IMAGECUBE */350YYSYMBOL_IIMAGECUBE = 227, /* IIMAGECUBE */351YYSYMBOL_UIMAGECUBE = 228, /* UIMAGECUBE */352YYSYMBOL_IMAGEBUFFER = 229, /* IMAGEBUFFER */353YYSYMBOL_IIMAGEBUFFER = 230, /* IIMAGEBUFFER */354YYSYMBOL_UIMAGEBUFFER = 231, /* UIMAGEBUFFER */355YYSYMBOL_IMAGE1DARRAY = 232, /* IMAGE1DARRAY */356YYSYMBOL_IIMAGE1DARRAY = 233, /* IIMAGE1DARRAY */357YYSYMBOL_UIMAGE1DARRAY = 234, /* UIMAGE1DARRAY */358YYSYMBOL_IMAGE2DARRAY = 235, /* IMAGE2DARRAY */359YYSYMBOL_IIMAGE2DARRAY = 236, /* IIMAGE2DARRAY */360YYSYMBOL_UIMAGE2DARRAY = 237, /* UIMAGE2DARRAY */361YYSYMBOL_IMAGECUBEARRAY = 238, /* IMAGECUBEARRAY */362YYSYMBOL_IIMAGECUBEARRAY = 239, /* IIMAGECUBEARRAY */363YYSYMBOL_UIMAGECUBEARRAY = 240, /* UIMAGECUBEARRAY */364YYSYMBOL_IMAGE2DMS = 241, /* IMAGE2DMS */365YYSYMBOL_IIMAGE2DMS = 242, /* IIMAGE2DMS */366YYSYMBOL_UIMAGE2DMS = 243, /* UIMAGE2DMS */367YYSYMBOL_IMAGE2DMSARRAY = 244, /* IMAGE2DMSARRAY */368YYSYMBOL_IIMAGE2DMSARRAY = 245, /* IIMAGE2DMSARRAY */369YYSYMBOL_UIMAGE2DMSARRAY = 246, /* UIMAGE2DMSARRAY */370YYSYMBOL_F16IMAGE1D = 247, /* F16IMAGE1D */371YYSYMBOL_F16IMAGE2D = 248, /* F16IMAGE2D */372YYSYMBOL_F16IMAGE3D = 249, /* F16IMAGE3D */373YYSYMBOL_F16IMAGE2DRECT = 250, /* F16IMAGE2DRECT */374YYSYMBOL_F16IMAGECUBE = 251, /* F16IMAGECUBE */375YYSYMBOL_F16IMAGE1DARRAY = 252, /* F16IMAGE1DARRAY */376YYSYMBOL_F16IMAGE2DARRAY = 253, /* F16IMAGE2DARRAY */377YYSYMBOL_F16IMAGECUBEARRAY = 254, /* F16IMAGECUBEARRAY */378YYSYMBOL_F16IMAGEBUFFER = 255, /* F16IMAGEBUFFER */379YYSYMBOL_F16IMAGE2DMS = 256, /* F16IMAGE2DMS */380YYSYMBOL_F16IMAGE2DMSARRAY = 257, /* F16IMAGE2DMSARRAY */381YYSYMBOL_I64IMAGE1D = 258, /* I64IMAGE1D */382YYSYMBOL_U64IMAGE1D = 259, /* U64IMAGE1D */383YYSYMBOL_I64IMAGE2D = 260, /* I64IMAGE2D */384YYSYMBOL_U64IMAGE2D = 261, /* U64IMAGE2D */385YYSYMBOL_I64IMAGE3D = 262, /* I64IMAGE3D */386YYSYMBOL_U64IMAGE3D = 263, /* U64IMAGE3D */387YYSYMBOL_I64IMAGE2DRECT = 264, /* I64IMAGE2DRECT */388YYSYMBOL_U64IMAGE2DRECT = 265, /* U64IMAGE2DRECT */389YYSYMBOL_I64IMAGECUBE = 266, /* I64IMAGECUBE */390YYSYMBOL_U64IMAGECUBE = 267, /* U64IMAGECUBE */391YYSYMBOL_I64IMAGEBUFFER = 268, /* I64IMAGEBUFFER */392YYSYMBOL_U64IMAGEBUFFER = 269, /* U64IMAGEBUFFER */393YYSYMBOL_I64IMAGE1DARRAY = 270, /* I64IMAGE1DARRAY */394YYSYMBOL_U64IMAGE1DARRAY = 271, /* U64IMAGE1DARRAY */395YYSYMBOL_I64IMAGE2DARRAY = 272, /* I64IMAGE2DARRAY */396YYSYMBOL_U64IMAGE2DARRAY = 273, /* U64IMAGE2DARRAY */397YYSYMBOL_I64IMAGECUBEARRAY = 274, /* I64IMAGECUBEARRAY */398YYSYMBOL_U64IMAGECUBEARRAY = 275, /* U64IMAGECUBEARRAY */399YYSYMBOL_I64IMAGE2DMS = 276, /* I64IMAGE2DMS */400YYSYMBOL_U64IMAGE2DMS = 277, /* U64IMAGE2DMS */401YYSYMBOL_I64IMAGE2DMSARRAY = 278, /* I64IMAGE2DMSARRAY */402YYSYMBOL_U64IMAGE2DMSARRAY = 279, /* U64IMAGE2DMSARRAY */403YYSYMBOL_TEXTURECUBEARRAY = 280, /* TEXTURECUBEARRAY */404YYSYMBOL_ITEXTURECUBEARRAY = 281, /* ITEXTURECUBEARRAY */405YYSYMBOL_UTEXTURECUBEARRAY = 282, /* UTEXTURECUBEARRAY */406YYSYMBOL_TEXTURE1D = 283, /* TEXTURE1D */407YYSYMBOL_ITEXTURE1D = 284, /* ITEXTURE1D */408YYSYMBOL_UTEXTURE1D = 285, /* UTEXTURE1D */409YYSYMBOL_TEXTURE1DARRAY = 286, /* TEXTURE1DARRAY */410YYSYMBOL_ITEXTURE1DARRAY = 287, /* ITEXTURE1DARRAY */411YYSYMBOL_UTEXTURE1DARRAY = 288, /* UTEXTURE1DARRAY */412YYSYMBOL_TEXTURE2DRECT = 289, /* TEXTURE2DRECT */413YYSYMBOL_ITEXTURE2DRECT = 290, /* ITEXTURE2DRECT */414YYSYMBOL_UTEXTURE2DRECT = 291, /* UTEXTURE2DRECT */415YYSYMBOL_TEXTUREBUFFER = 292, /* TEXTUREBUFFER */416YYSYMBOL_ITEXTUREBUFFER = 293, /* ITEXTUREBUFFER */417YYSYMBOL_UTEXTUREBUFFER = 294, /* UTEXTUREBUFFER */418YYSYMBOL_TEXTURE2DMS = 295, /* TEXTURE2DMS */419YYSYMBOL_ITEXTURE2DMS = 296, /* ITEXTURE2DMS */420YYSYMBOL_UTEXTURE2DMS = 297, /* UTEXTURE2DMS */421YYSYMBOL_TEXTURE2DMSARRAY = 298, /* TEXTURE2DMSARRAY */422YYSYMBOL_ITEXTURE2DMSARRAY = 299, /* ITEXTURE2DMSARRAY */423YYSYMBOL_UTEXTURE2DMSARRAY = 300, /* UTEXTURE2DMSARRAY */424YYSYMBOL_F16TEXTURE1D = 301, /* F16TEXTURE1D */425YYSYMBOL_F16TEXTURE2D = 302, /* F16TEXTURE2D */426YYSYMBOL_F16TEXTURE3D = 303, /* F16TEXTURE3D */427YYSYMBOL_F16TEXTURE2DRECT = 304, /* F16TEXTURE2DRECT */428YYSYMBOL_F16TEXTURECUBE = 305, /* F16TEXTURECUBE */429YYSYMBOL_F16TEXTURE1DARRAY = 306, /* F16TEXTURE1DARRAY */430YYSYMBOL_F16TEXTURE2DARRAY = 307, /* F16TEXTURE2DARRAY */431YYSYMBOL_F16TEXTURECUBEARRAY = 308, /* F16TEXTURECUBEARRAY */432YYSYMBOL_F16TEXTUREBUFFER = 309, /* F16TEXTUREBUFFER */433YYSYMBOL_F16TEXTURE2DMS = 310, /* F16TEXTURE2DMS */434YYSYMBOL_F16TEXTURE2DMSARRAY = 311, /* F16TEXTURE2DMSARRAY */435YYSYMBOL_SUBPASSINPUT = 312, /* SUBPASSINPUT */436YYSYMBOL_SUBPASSINPUTMS = 313, /* SUBPASSINPUTMS */437YYSYMBOL_ISUBPASSINPUT = 314, /* ISUBPASSINPUT */438YYSYMBOL_ISUBPASSINPUTMS = 315, /* ISUBPASSINPUTMS */439YYSYMBOL_USUBPASSINPUT = 316, /* USUBPASSINPUT */440YYSYMBOL_USUBPASSINPUTMS = 317, /* USUBPASSINPUTMS */441YYSYMBOL_F16SUBPASSINPUT = 318, /* F16SUBPASSINPUT */442YYSYMBOL_F16SUBPASSINPUTMS = 319, /* F16SUBPASSINPUTMS */443YYSYMBOL_SPIRV_INSTRUCTION = 320, /* SPIRV_INSTRUCTION */444YYSYMBOL_SPIRV_EXECUTION_MODE = 321, /* SPIRV_EXECUTION_MODE */445YYSYMBOL_SPIRV_EXECUTION_MODE_ID = 322, /* SPIRV_EXECUTION_MODE_ID */446YYSYMBOL_SPIRV_DECORATE = 323, /* SPIRV_DECORATE */447YYSYMBOL_SPIRV_DECORATE_ID = 324, /* SPIRV_DECORATE_ID */448YYSYMBOL_SPIRV_DECORATE_STRING = 325, /* SPIRV_DECORATE_STRING */449YYSYMBOL_SPIRV_TYPE = 326, /* SPIRV_TYPE */450YYSYMBOL_SPIRV_STORAGE_CLASS = 327, /* SPIRV_STORAGE_CLASS */451YYSYMBOL_SPIRV_BY_REFERENCE = 328, /* SPIRV_BY_REFERENCE */452YYSYMBOL_SPIRV_LITERAL = 329, /* SPIRV_LITERAL */453YYSYMBOL_ATTACHMENTEXT = 330, /* ATTACHMENTEXT */454YYSYMBOL_IATTACHMENTEXT = 331, /* IATTACHMENTEXT */455YYSYMBOL_UATTACHMENTEXT = 332, /* UATTACHMENTEXT */456YYSYMBOL_LEFT_OP = 333, /* LEFT_OP */457YYSYMBOL_RIGHT_OP = 334, /* RIGHT_OP */458YYSYMBOL_INC_OP = 335, /* INC_OP */459YYSYMBOL_DEC_OP = 336, /* DEC_OP */460YYSYMBOL_LE_OP = 337, /* LE_OP */461YYSYMBOL_GE_OP = 338, /* GE_OP */462YYSYMBOL_EQ_OP = 339, /* EQ_OP */463YYSYMBOL_NE_OP = 340, /* NE_OP */464YYSYMBOL_AND_OP = 341, /* AND_OP */465YYSYMBOL_OR_OP = 342, /* OR_OP */466YYSYMBOL_XOR_OP = 343, /* XOR_OP */467YYSYMBOL_MUL_ASSIGN = 344, /* MUL_ASSIGN */468YYSYMBOL_DIV_ASSIGN = 345, /* DIV_ASSIGN */469YYSYMBOL_ADD_ASSIGN = 346, /* ADD_ASSIGN */470YYSYMBOL_MOD_ASSIGN = 347, /* MOD_ASSIGN */471YYSYMBOL_LEFT_ASSIGN = 348, /* LEFT_ASSIGN */472YYSYMBOL_RIGHT_ASSIGN = 349, /* RIGHT_ASSIGN */473YYSYMBOL_AND_ASSIGN = 350, /* AND_ASSIGN */474YYSYMBOL_XOR_ASSIGN = 351, /* XOR_ASSIGN */475YYSYMBOL_OR_ASSIGN = 352, /* OR_ASSIGN */476YYSYMBOL_SUB_ASSIGN = 353, /* SUB_ASSIGN */477YYSYMBOL_STRING_LITERAL = 354, /* STRING_LITERAL */478YYSYMBOL_LEFT_PAREN = 355, /* LEFT_PAREN */479YYSYMBOL_RIGHT_PAREN = 356, /* RIGHT_PAREN */480YYSYMBOL_LEFT_BRACKET = 357, /* LEFT_BRACKET */481YYSYMBOL_RIGHT_BRACKET = 358, /* RIGHT_BRACKET */482YYSYMBOL_LEFT_BRACE = 359, /* LEFT_BRACE */483YYSYMBOL_RIGHT_BRACE = 360, /* RIGHT_BRACE */484YYSYMBOL_DOT = 361, /* DOT */485YYSYMBOL_COMMA = 362, /* COMMA */486YYSYMBOL_COLON = 363, /* COLON */487YYSYMBOL_EQUAL = 364, /* EQUAL */488YYSYMBOL_SEMICOLON = 365, /* SEMICOLON */489YYSYMBOL_BANG = 366, /* BANG */490YYSYMBOL_DASH = 367, /* DASH */491YYSYMBOL_TILDE = 368, /* TILDE */492YYSYMBOL_PLUS = 369, /* PLUS */493YYSYMBOL_STAR = 370, /* STAR */494YYSYMBOL_SLASH = 371, /* SLASH */495YYSYMBOL_PERCENT = 372, /* PERCENT */496YYSYMBOL_LEFT_ANGLE = 373, /* LEFT_ANGLE */497YYSYMBOL_RIGHT_ANGLE = 374, /* RIGHT_ANGLE */498YYSYMBOL_VERTICAL_BAR = 375, /* VERTICAL_BAR */499YYSYMBOL_CARET = 376, /* CARET */500YYSYMBOL_AMPERSAND = 377, /* AMPERSAND */501YYSYMBOL_QUESTION = 378, /* QUESTION */502YYSYMBOL_INVARIANT = 379, /* INVARIANT */503YYSYMBOL_HIGH_PRECISION = 380, /* HIGH_PRECISION */504YYSYMBOL_MEDIUM_PRECISION = 381, /* MEDIUM_PRECISION */505YYSYMBOL_LOW_PRECISION = 382, /* LOW_PRECISION */506YYSYMBOL_PRECISION = 383, /* PRECISION */507YYSYMBOL_PACKED = 384, /* PACKED */508YYSYMBOL_RESOURCE = 385, /* RESOURCE */509YYSYMBOL_SUPERP = 386, /* SUPERP */510YYSYMBOL_FLOATCONSTANT = 387, /* FLOATCONSTANT */511YYSYMBOL_INTCONSTANT = 388, /* INTCONSTANT */512YYSYMBOL_UINTCONSTANT = 389, /* UINTCONSTANT */513YYSYMBOL_BOOLCONSTANT = 390, /* BOOLCONSTANT */514YYSYMBOL_IDENTIFIER = 391, /* IDENTIFIER */515YYSYMBOL_TYPE_NAME = 392, /* TYPE_NAME */516YYSYMBOL_CENTROID = 393, /* CENTROID */517YYSYMBOL_IN = 394, /* IN */518YYSYMBOL_OUT = 395, /* OUT */519YYSYMBOL_INOUT = 396, /* INOUT */520YYSYMBOL_STRUCT = 397, /* STRUCT */521YYSYMBOL_VOID = 398, /* VOID */522YYSYMBOL_WHILE = 399, /* WHILE */523YYSYMBOL_BREAK = 400, /* BREAK */524YYSYMBOL_CONTINUE = 401, /* CONTINUE */525YYSYMBOL_DO = 402, /* DO */526YYSYMBOL_ELSE = 403, /* ELSE */527YYSYMBOL_FOR = 404, /* FOR */528YYSYMBOL_IF = 405, /* IF */529YYSYMBOL_DISCARD = 406, /* DISCARD */530YYSYMBOL_RETURN = 407, /* RETURN */531YYSYMBOL_SWITCH = 408, /* SWITCH */532YYSYMBOL_CASE = 409, /* CASE */533YYSYMBOL_DEFAULT = 410, /* DEFAULT */534YYSYMBOL_TERMINATE_INVOCATION = 411, /* TERMINATE_INVOCATION */535YYSYMBOL_TERMINATE_RAY = 412, /* TERMINATE_RAY */536YYSYMBOL_IGNORE_INTERSECTION = 413, /* IGNORE_INTERSECTION */537YYSYMBOL_UNIFORM = 414, /* UNIFORM */538YYSYMBOL_SHARED = 415, /* SHARED */539YYSYMBOL_BUFFER = 416, /* BUFFER */540YYSYMBOL_TILEIMAGEEXT = 417, /* TILEIMAGEEXT */541YYSYMBOL_FLAT = 418, /* FLAT */542YYSYMBOL_SMOOTH = 419, /* SMOOTH */543YYSYMBOL_LAYOUT = 420, /* LAYOUT */544YYSYMBOL_DOUBLECONSTANT = 421, /* DOUBLECONSTANT */545YYSYMBOL_INT16CONSTANT = 422, /* INT16CONSTANT */546YYSYMBOL_UINT16CONSTANT = 423, /* UINT16CONSTANT */547YYSYMBOL_FLOAT16CONSTANT = 424, /* FLOAT16CONSTANT */548YYSYMBOL_INT32CONSTANT = 425, /* INT32CONSTANT */549YYSYMBOL_UINT32CONSTANT = 426, /* UINT32CONSTANT */550YYSYMBOL_INT64CONSTANT = 427, /* INT64CONSTANT */551YYSYMBOL_UINT64CONSTANT = 428, /* UINT64CONSTANT */552YYSYMBOL_SUBROUTINE = 429, /* SUBROUTINE */553YYSYMBOL_DEMOTE = 430, /* DEMOTE */554YYSYMBOL_PAYLOADNV = 431, /* PAYLOADNV */555YYSYMBOL_PAYLOADINNV = 432, /* PAYLOADINNV */556YYSYMBOL_HITATTRNV = 433, /* HITATTRNV */557YYSYMBOL_CALLDATANV = 434, /* CALLDATANV */558YYSYMBOL_CALLDATAINNV = 435, /* CALLDATAINNV */559YYSYMBOL_PAYLOADEXT = 436, /* PAYLOADEXT */560YYSYMBOL_PAYLOADINEXT = 437, /* PAYLOADINEXT */561YYSYMBOL_HITATTREXT = 438, /* HITATTREXT */562YYSYMBOL_CALLDATAEXT = 439, /* CALLDATAEXT */563YYSYMBOL_CALLDATAINEXT = 440, /* CALLDATAINEXT */564YYSYMBOL_PATCH = 441, /* PATCH */565YYSYMBOL_SAMPLE = 442, /* SAMPLE */566YYSYMBOL_NONUNIFORM = 443, /* NONUNIFORM */567YYSYMBOL_COHERENT = 444, /* COHERENT */568YYSYMBOL_VOLATILE = 445, /* VOLATILE */569YYSYMBOL_RESTRICT = 446, /* RESTRICT */570YYSYMBOL_READONLY = 447, /* READONLY */571YYSYMBOL_WRITEONLY = 448, /* WRITEONLY */572YYSYMBOL_DEVICECOHERENT = 449, /* DEVICECOHERENT */573YYSYMBOL_QUEUEFAMILYCOHERENT = 450, /* QUEUEFAMILYCOHERENT */574YYSYMBOL_WORKGROUPCOHERENT = 451, /* WORKGROUPCOHERENT */575YYSYMBOL_SUBGROUPCOHERENT = 452, /* SUBGROUPCOHERENT */576YYSYMBOL_NONPRIVATE = 453, /* NONPRIVATE */577YYSYMBOL_SHADERCALLCOHERENT = 454, /* SHADERCALLCOHERENT */578YYSYMBOL_NOPERSPECTIVE = 455, /* NOPERSPECTIVE */579YYSYMBOL_EXPLICITINTERPAMD = 456, /* EXPLICITINTERPAMD */580YYSYMBOL_PERVERTEXEXT = 457, /* PERVERTEXEXT */581YYSYMBOL_PERVERTEXNV = 458, /* PERVERTEXNV */582YYSYMBOL_PERPRIMITIVENV = 459, /* PERPRIMITIVENV */583YYSYMBOL_PERVIEWNV = 460, /* PERVIEWNV */584YYSYMBOL_PERTASKNV = 461, /* PERTASKNV */585YYSYMBOL_PERPRIMITIVEEXT = 462, /* PERPRIMITIVEEXT */586YYSYMBOL_TASKPAYLOADWORKGROUPEXT = 463, /* TASKPAYLOADWORKGROUPEXT */587YYSYMBOL_PRECISE = 464, /* PRECISE */588YYSYMBOL_YYACCEPT = 465, /* $accept */589YYSYMBOL_variable_identifier = 466, /* variable_identifier */590YYSYMBOL_primary_expression = 467, /* primary_expression */591YYSYMBOL_postfix_expression = 468, /* postfix_expression */592YYSYMBOL_integer_expression = 469, /* integer_expression */593YYSYMBOL_function_call = 470, /* function_call */594YYSYMBOL_function_call_or_method = 471, /* function_call_or_method */595YYSYMBOL_function_call_generic = 472, /* function_call_generic */596YYSYMBOL_function_call_header_no_parameters = 473, /* function_call_header_no_parameters */597YYSYMBOL_function_call_header_with_parameters = 474, /* function_call_header_with_parameters */598YYSYMBOL_function_call_header = 475, /* function_call_header */599YYSYMBOL_function_identifier = 476, /* function_identifier */600YYSYMBOL_unary_expression = 477, /* unary_expression */601YYSYMBOL_unary_operator = 478, /* unary_operator */602YYSYMBOL_multiplicative_expression = 479, /* multiplicative_expression */603YYSYMBOL_additive_expression = 480, /* additive_expression */604YYSYMBOL_shift_expression = 481, /* shift_expression */605YYSYMBOL_relational_expression = 482, /* relational_expression */606YYSYMBOL_equality_expression = 483, /* equality_expression */607YYSYMBOL_and_expression = 484, /* and_expression */608YYSYMBOL_exclusive_or_expression = 485, /* exclusive_or_expression */609YYSYMBOL_inclusive_or_expression = 486, /* inclusive_or_expression */610YYSYMBOL_logical_and_expression = 487, /* logical_and_expression */611YYSYMBOL_logical_xor_expression = 488, /* logical_xor_expression */612YYSYMBOL_logical_or_expression = 489, /* logical_or_expression */613YYSYMBOL_conditional_expression = 490, /* conditional_expression */614YYSYMBOL_491_1 = 491, /* $@1 */615YYSYMBOL_assignment_expression = 492, /* assignment_expression */616YYSYMBOL_assignment_operator = 493, /* assignment_operator */617YYSYMBOL_expression = 494, /* expression */618YYSYMBOL_constant_expression = 495, /* constant_expression */619YYSYMBOL_declaration = 496, /* declaration */620YYSYMBOL_block_structure = 497, /* block_structure */621YYSYMBOL_498_2 = 498, /* $@2 */622YYSYMBOL_identifier_list = 499, /* identifier_list */623YYSYMBOL_function_prototype = 500, /* function_prototype */624YYSYMBOL_function_declarator = 501, /* function_declarator */625YYSYMBOL_function_header_with_parameters = 502, /* function_header_with_parameters */626YYSYMBOL_function_header = 503, /* function_header */627YYSYMBOL_parameter_declarator = 504, /* parameter_declarator */628YYSYMBOL_parameter_declaration = 505, /* parameter_declaration */629YYSYMBOL_parameter_type_specifier = 506, /* parameter_type_specifier */630YYSYMBOL_init_declarator_list = 507, /* init_declarator_list */631YYSYMBOL_single_declaration = 508, /* single_declaration */632YYSYMBOL_fully_specified_type = 509, /* fully_specified_type */633YYSYMBOL_invariant_qualifier = 510, /* invariant_qualifier */634YYSYMBOL_interpolation_qualifier = 511, /* interpolation_qualifier */635YYSYMBOL_layout_qualifier = 512, /* layout_qualifier */636YYSYMBOL_layout_qualifier_id_list = 513, /* layout_qualifier_id_list */637YYSYMBOL_layout_qualifier_id = 514, /* layout_qualifier_id */638YYSYMBOL_precise_qualifier = 515, /* precise_qualifier */639YYSYMBOL_type_qualifier = 516, /* type_qualifier */640YYSYMBOL_single_type_qualifier = 517, /* single_type_qualifier */641YYSYMBOL_storage_qualifier = 518, /* storage_qualifier */642YYSYMBOL_non_uniform_qualifier = 519, /* non_uniform_qualifier */643YYSYMBOL_type_name_list = 520, /* type_name_list */644YYSYMBOL_type_specifier = 521, /* type_specifier */645YYSYMBOL_array_specifier = 522, /* array_specifier */646YYSYMBOL_type_parameter_specifier_opt = 523, /* type_parameter_specifier_opt */647YYSYMBOL_type_parameter_specifier = 524, /* type_parameter_specifier */648YYSYMBOL_type_parameter_specifier_list = 525, /* type_parameter_specifier_list */649YYSYMBOL_type_specifier_nonarray = 526, /* type_specifier_nonarray */650YYSYMBOL_precision_qualifier = 527, /* precision_qualifier */651YYSYMBOL_struct_specifier = 528, /* struct_specifier */652YYSYMBOL_529_3 = 529, /* $@3 */653YYSYMBOL_530_4 = 530, /* $@4 */654YYSYMBOL_struct_declaration_list = 531, /* struct_declaration_list */655YYSYMBOL_struct_declaration = 532, /* struct_declaration */656YYSYMBOL_struct_declarator_list = 533, /* struct_declarator_list */657YYSYMBOL_struct_declarator = 534, /* struct_declarator */658YYSYMBOL_initializer = 535, /* initializer */659YYSYMBOL_initializer_list = 536, /* initializer_list */660YYSYMBOL_declaration_statement = 537, /* declaration_statement */661YYSYMBOL_statement = 538, /* statement */662YYSYMBOL_simple_statement = 539, /* simple_statement */663YYSYMBOL_demote_statement = 540, /* demote_statement */664YYSYMBOL_compound_statement = 541, /* compound_statement */665YYSYMBOL_542_5 = 542, /* $@5 */666YYSYMBOL_543_6 = 543, /* $@6 */667YYSYMBOL_statement_no_new_scope = 544, /* statement_no_new_scope */668YYSYMBOL_statement_scoped = 545, /* statement_scoped */669YYSYMBOL_546_7 = 546, /* $@7 */670YYSYMBOL_547_8 = 547, /* $@8 */671YYSYMBOL_compound_statement_no_new_scope = 548, /* compound_statement_no_new_scope */672YYSYMBOL_statement_list = 549, /* statement_list */673YYSYMBOL_expression_statement = 550, /* expression_statement */674YYSYMBOL_selection_statement = 551, /* selection_statement */675YYSYMBOL_selection_statement_nonattributed = 552, /* selection_statement_nonattributed */676YYSYMBOL_selection_rest_statement = 553, /* selection_rest_statement */677YYSYMBOL_condition = 554, /* condition */678YYSYMBOL_switch_statement = 555, /* switch_statement */679YYSYMBOL_switch_statement_nonattributed = 556, /* switch_statement_nonattributed */680YYSYMBOL_557_9 = 557, /* $@9 */681YYSYMBOL_switch_statement_list = 558, /* switch_statement_list */682YYSYMBOL_case_label = 559, /* case_label */683YYSYMBOL_iteration_statement = 560, /* iteration_statement */684YYSYMBOL_iteration_statement_nonattributed = 561, /* iteration_statement_nonattributed */685YYSYMBOL_562_10 = 562, /* $@10 */686YYSYMBOL_563_11 = 563, /* $@11 */687YYSYMBOL_564_12 = 564, /* $@12 */688YYSYMBOL_for_init_statement = 565, /* for_init_statement */689YYSYMBOL_conditionopt = 566, /* conditionopt */690YYSYMBOL_for_rest_statement = 567, /* for_rest_statement */691YYSYMBOL_jump_statement = 568, /* jump_statement */692YYSYMBOL_translation_unit = 569, /* translation_unit */693YYSYMBOL_external_declaration = 570, /* external_declaration */694YYSYMBOL_function_definition = 571, /* function_definition */695YYSYMBOL_572_13 = 572, /* $@13 */696YYSYMBOL_attribute = 573, /* attribute */697YYSYMBOL_attribute_list = 574, /* attribute_list */698YYSYMBOL_single_attribute = 575, /* single_attribute */699YYSYMBOL_spirv_requirements_list = 576, /* spirv_requirements_list */700YYSYMBOL_spirv_requirements_parameter = 577, /* spirv_requirements_parameter */701YYSYMBOL_spirv_extension_list = 578, /* spirv_extension_list */702YYSYMBOL_spirv_capability_list = 579, /* spirv_capability_list */703YYSYMBOL_spirv_execution_mode_qualifier = 580, /* spirv_execution_mode_qualifier */704YYSYMBOL_spirv_execution_mode_parameter_list = 581, /* spirv_execution_mode_parameter_list */705YYSYMBOL_spirv_execution_mode_parameter = 582, /* spirv_execution_mode_parameter */706YYSYMBOL_spirv_execution_mode_id_parameter_list = 583, /* spirv_execution_mode_id_parameter_list */707YYSYMBOL_spirv_storage_class_qualifier = 584, /* spirv_storage_class_qualifier */708YYSYMBOL_spirv_decorate_qualifier = 585, /* spirv_decorate_qualifier */709YYSYMBOL_spirv_decorate_parameter_list = 586, /* spirv_decorate_parameter_list */710YYSYMBOL_spirv_decorate_parameter = 587, /* spirv_decorate_parameter */711YYSYMBOL_spirv_decorate_id_parameter_list = 588, /* spirv_decorate_id_parameter_list */712YYSYMBOL_spirv_decorate_id_parameter = 589, /* spirv_decorate_id_parameter */713YYSYMBOL_spirv_decorate_string_parameter_list = 590, /* spirv_decorate_string_parameter_list */714YYSYMBOL_spirv_type_specifier = 591, /* spirv_type_specifier */715YYSYMBOL_spirv_type_parameter_list = 592, /* spirv_type_parameter_list */716YYSYMBOL_spirv_type_parameter = 593, /* spirv_type_parameter */717YYSYMBOL_spirv_instruction_qualifier = 594, /* spirv_instruction_qualifier */718YYSYMBOL_spirv_instruction_qualifier_list = 595, /* spirv_instruction_qualifier_list */719YYSYMBOL_spirv_instruction_qualifier_id = 596 /* spirv_instruction_qualifier_id */720};721typedef enum yysymbol_kind_t yysymbol_kind_t;722723724/* Second part of user prologue. */725#line 111 "MachineIndependent/glslang.y"726727728#define parseContext (*pParseContext)729#define yyerror(context, msg) context->parserError(msg)730731extern int yylex(YYSTYPE*, TParseContext&);732733734#line 736 "MachineIndependent/glslang_tab.cpp"735736737#ifdef short738# undef short739#endif740741/* On compilers that do not define __PTRDIFF_MAX__ etc., make sure742<limits.h> and (if available) <stdint.h> are included743so that the code can choose integer types of a good width. */744745#ifndef __PTRDIFF_MAX__746# include <limits.h> /* INFRINGES ON USER NAME SPACE */747# if defined __STDC_VERSION__ && 199901 <= __STDC_VERSION__748# include <stdint.h> /* INFRINGES ON USER NAME SPACE */749# define YY_STDINT_H750# endif751#endif752753/* Narrow types that promote to a signed type and that can represent a754signed or unsigned integer of at least N bits. In tables they can755save space and decrease cache pressure. Promoting to a signed type756helps avoid bugs in integer arithmetic. */757758#ifdef __INT_LEAST8_MAX__759typedef __INT_LEAST8_TYPE__ yytype_int8;760#elif defined YY_STDINT_H761typedef int_least8_t yytype_int8;762#else763typedef signed char yytype_int8;764#endif765766#ifdef __INT_LEAST16_MAX__767typedef __INT_LEAST16_TYPE__ yytype_int16;768#elif defined YY_STDINT_H769typedef int_least16_t yytype_int16;770#else771typedef short yytype_int16;772#endif773774/* Work around bug in HP-UX 11.23, which defines these macros775incorrectly for preprocessor constants. This workaround can likely776be removed in 2023, as HPE has promised support for HP-UX 11.23777(aka HP-UX 11i v2) only through the end of 2022; see Table 2 of778<https://h20195.www2.hpe.com/V2/getpdf.aspx/4AA4-7673ENW.pdf>. */779#ifdef __hpux780# undef UINT_LEAST8_MAX781# undef UINT_LEAST16_MAX782# define UINT_LEAST8_MAX 255783# define UINT_LEAST16_MAX 65535784#endif785786#if defined __UINT_LEAST8_MAX__ && __UINT_LEAST8_MAX__ <= __INT_MAX__787typedef __UINT_LEAST8_TYPE__ yytype_uint8;788#elif (!defined __UINT_LEAST8_MAX__ && defined YY_STDINT_H \789&& UINT_LEAST8_MAX <= INT_MAX)790typedef uint_least8_t yytype_uint8;791#elif !defined __UINT_LEAST8_MAX__ && UCHAR_MAX <= INT_MAX792typedef unsigned char yytype_uint8;793#else794typedef short yytype_uint8;795#endif796797#if defined __UINT_LEAST16_MAX__ && __UINT_LEAST16_MAX__ <= __INT_MAX__798typedef __UINT_LEAST16_TYPE__ yytype_uint16;799#elif (!defined __UINT_LEAST16_MAX__ && defined YY_STDINT_H \800&& UINT_LEAST16_MAX <= INT_MAX)801typedef uint_least16_t yytype_uint16;802#elif !defined __UINT_LEAST16_MAX__ && USHRT_MAX <= INT_MAX803typedef unsigned short yytype_uint16;804#else805typedef int yytype_uint16;806#endif807808#ifndef YYPTRDIFF_T809# if defined __PTRDIFF_TYPE__ && defined __PTRDIFF_MAX__810# define YYPTRDIFF_T __PTRDIFF_TYPE__811# define YYPTRDIFF_MAXIMUM __PTRDIFF_MAX__812# elif defined PTRDIFF_MAX813# ifndef ptrdiff_t814# include <stddef.h> /* INFRINGES ON USER NAME SPACE */815# endif816# define YYPTRDIFF_T ptrdiff_t817# define YYPTRDIFF_MAXIMUM PTRDIFF_MAX818# else819# define YYPTRDIFF_T long820# define YYPTRDIFF_MAXIMUM LONG_MAX821# endif822#endif823824#ifndef YYSIZE_T825# ifdef __SIZE_TYPE__826# define YYSIZE_T __SIZE_TYPE__827# elif defined size_t828# define YYSIZE_T size_t829# elif defined __STDC_VERSION__ && 199901 <= __STDC_VERSION__830# include <stddef.h> /* INFRINGES ON USER NAME SPACE */831# define YYSIZE_T size_t832# else833# define YYSIZE_T unsigned834# endif835#endif836837#define YYSIZE_MAXIMUM \838YY_CAST (YYPTRDIFF_T, \839(YYPTRDIFF_MAXIMUM < YY_CAST (YYSIZE_T, -1) \840? YYPTRDIFF_MAXIMUM \841: YY_CAST (YYSIZE_T, -1)))842843#define YYSIZEOF(X) YY_CAST (YYPTRDIFF_T, sizeof (X))844845846/* Stored state numbers (used for stacks). */847typedef yytype_int16 yy_state_t;848849/* State numbers in computations. */850typedef int yy_state_fast_t;851852#ifndef YY_853# if defined YYENABLE_NLS && YYENABLE_NLS854# if ENABLE_NLS855# include <libintl.h> /* INFRINGES ON USER NAME SPACE */856# define YY_(Msgid) dgettext ("bison-runtime", Msgid)857# endif858# endif859# ifndef YY_860# define YY_(Msgid) Msgid861# endif862#endif863864865#ifndef YY_ATTRIBUTE_PURE866# if defined __GNUC__ && 2 < __GNUC__ + (96 <= __GNUC_MINOR__)867# define YY_ATTRIBUTE_PURE __attribute__ ((__pure__))868# else869# define YY_ATTRIBUTE_PURE870# endif871#endif872873#ifndef YY_ATTRIBUTE_UNUSED874# if defined __GNUC__ && 2 < __GNUC__ + (7 <= __GNUC_MINOR__)875# define YY_ATTRIBUTE_UNUSED __attribute__ ((__unused__))876# else877# define YY_ATTRIBUTE_UNUSED878# endif879#endif880881/* Suppress unused-variable warnings by "using" E. */882#if ! defined lint || defined __GNUC__883# define YY_USE(E) ((void) (E))884#else885# define YY_USE(E) /* empty */886#endif887888/* Suppress an incorrect diagnostic about yylval being uninitialized. */889#if defined __GNUC__ && ! defined __ICC && 406 <= __GNUC__ * 100 + __GNUC_MINOR__890# if __GNUC__ * 100 + __GNUC_MINOR__ < 407891# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \892_Pragma ("GCC diagnostic push") \893_Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")894# else895# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \896_Pragma ("GCC diagnostic push") \897_Pragma ("GCC diagnostic ignored \"-Wuninitialized\"") \898_Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"")899# endif900# define YY_IGNORE_MAYBE_UNINITIALIZED_END \901_Pragma ("GCC diagnostic pop")902#else903# define YY_INITIAL_VALUE(Value) Value904#endif905#ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN906# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN907# define YY_IGNORE_MAYBE_UNINITIALIZED_END908#endif909#ifndef YY_INITIAL_VALUE910# define YY_INITIAL_VALUE(Value) /* Nothing. */911#endif912913#if defined __cplusplus && defined __GNUC__ && ! defined __ICC && 6 <= __GNUC__914# define YY_IGNORE_USELESS_CAST_BEGIN \915_Pragma ("GCC diagnostic push") \916_Pragma ("GCC diagnostic ignored \"-Wuseless-cast\"")917# define YY_IGNORE_USELESS_CAST_END \918_Pragma ("GCC diagnostic pop")919#endif920#ifndef YY_IGNORE_USELESS_CAST_BEGIN921# define YY_IGNORE_USELESS_CAST_BEGIN922# define YY_IGNORE_USELESS_CAST_END923#endif924925926#define YY_ASSERT(E) ((void) (0 && (E)))927928#if 1929930/* The parser invokes alloca or malloc; define the necessary symbols. */931932# ifdef YYSTACK_USE_ALLOCA933# if YYSTACK_USE_ALLOCA934# ifdef __GNUC__935# define YYSTACK_ALLOC __builtin_alloca936# elif defined __BUILTIN_VA_ARG_INCR937# include <alloca.h> /* INFRINGES ON USER NAME SPACE */938# elif defined _AIX939# define YYSTACK_ALLOC __alloca940# elif defined _MSC_VER941# include <malloc.h> /* INFRINGES ON USER NAME SPACE */942# define alloca _alloca943# else944# define YYSTACK_ALLOC alloca945# if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS946# include <stdlib.h> /* INFRINGES ON USER NAME SPACE */947/* Use EXIT_SUCCESS as a witness for stdlib.h. */948# ifndef EXIT_SUCCESS949# define EXIT_SUCCESS 0950# endif951# endif952# endif953# endif954# endif955956# ifdef YYSTACK_ALLOC957/* Pacify GCC's 'empty if-body' warning. */958# define YYSTACK_FREE(Ptr) do { /* empty */; } while (0)959# ifndef YYSTACK_ALLOC_MAXIMUM960/* The OS might guarantee only one guard page at the bottom of the stack,961and a page size can be as small as 4096 bytes. So we cannot safely962invoke alloca (N) if N exceeds 4096. Use a slightly smaller number963to allow for a few compiler-allocated temporary stack slots. */964# define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */965# endif966# else967# define YYSTACK_ALLOC YYMALLOC968# define YYSTACK_FREE YYFREE969# ifndef YYSTACK_ALLOC_MAXIMUM970# define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM971# endif972# if (defined __cplusplus && ! defined EXIT_SUCCESS \973&& ! ((defined YYMALLOC || defined malloc) \974&& (defined YYFREE || defined free)))975# include <stdlib.h> /* INFRINGES ON USER NAME SPACE */976# ifndef EXIT_SUCCESS977# define EXIT_SUCCESS 0978# endif979# endif980# ifndef YYMALLOC981# define YYMALLOC malloc982# if ! defined malloc && ! defined EXIT_SUCCESS983void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */984# endif985# endif986# ifndef YYFREE987# define YYFREE free988# if ! defined free && ! defined EXIT_SUCCESS989void free (void *); /* INFRINGES ON USER NAME SPACE */990# endif991# endif992# endif993#endif /* 1 */994995#if (! defined yyoverflow \996&& (! defined __cplusplus \997|| (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))998999/* A type that is properly aligned for any stack member. */1000union yyalloc1001{1002yy_state_t yyss_alloc;1003YYSTYPE yyvs_alloc;1004};10051006/* The size of the maximum gap between one aligned stack and the next. */1007# define YYSTACK_GAP_MAXIMUM (YYSIZEOF (union yyalloc) - 1)10081009/* The size of an array large to enough to hold all stacks, each with1010N elements. */1011# define YYSTACK_BYTES(N) \1012((N) * (YYSIZEOF (yy_state_t) + YYSIZEOF (YYSTYPE)) \1013+ YYSTACK_GAP_MAXIMUM)10141015# define YYCOPY_NEEDED 110161017/* Relocate STACK from its old location to the new one. The1018local variables YYSIZE and YYSTACKSIZE give the old and new number of1019elements in the stack, and YYPTR gives the new location of the1020stack. Advance YYPTR to a properly aligned location for the next1021stack. */1022# define YYSTACK_RELOCATE(Stack_alloc, Stack) \1023do \1024{ \1025YYPTRDIFF_T yynewbytes; \1026YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \1027Stack = &yyptr->Stack_alloc; \1028yynewbytes = yystacksize * YYSIZEOF (*Stack) + YYSTACK_GAP_MAXIMUM; \1029yyptr += yynewbytes / YYSIZEOF (*yyptr); \1030} \1031while (0)10321033#endif10341035#if defined YYCOPY_NEEDED && YYCOPY_NEEDED1036/* Copy COUNT objects from SRC to DST. The source and destination do1037not overlap. */1038# ifndef YYCOPY1039# if defined __GNUC__ && 1 < __GNUC__1040# define YYCOPY(Dst, Src, Count) \1041__builtin_memcpy (Dst, Src, YY_CAST (YYSIZE_T, (Count)) * sizeof (*(Src)))1042# else1043# define YYCOPY(Dst, Src, Count) \1044do \1045{ \1046YYPTRDIFF_T yyi; \1047for (yyi = 0; yyi < (Count); yyi++) \1048(Dst)[yyi] = (Src)[yyi]; \1049} \1050while (0)1051# endif1052# endif1053#endif /* !YYCOPY_NEEDED */10541055/* YYFINAL -- State number of the termination state. */1056#define YYFINAL 4521057/* YYLAST -- Last index in YYTABLE. */1058#define YYLAST 1270110591060/* YYNTOKENS -- Number of terminals. */1061#define YYNTOKENS 4651062/* YYNNTS -- Number of nonterminals. */1063#define YYNNTS 1321064/* YYNRULES -- Number of rules. */1065#define YYNRULES 7001066/* YYNSTATES -- Number of states. */1067#define YYNSTATES 94610681069/* YYMAXUTOK -- Last valid token kind. */1070#define YYMAXUTOK 719107110721073/* YYTRANSLATE(TOKEN-NUM) -- Symbol number corresponding to TOKEN-NUM1074as returned by yylex, with out-of-bounds checking. */1075#define YYTRANSLATE(YYX) \1076(0 <= (YYX) && (YYX) <= YYMAXUTOK \1077? YY_CAST (yysymbol_kind_t, yytranslate[YYX]) \1078: YYSYMBOL_YYUNDEF)10791080/* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM1081as returned by yylex. */1082static const yytype_int16 yytranslate[] =1083{10840, 2, 2, 2, 2, 2, 2, 2, 2, 2,10852, 2, 2, 2, 2, 2, 2, 2, 2, 2,10862, 2, 2, 2, 2, 2, 2, 2, 2, 2,10872, 2, 2, 2, 2, 2, 2, 2, 2, 2,10882, 2, 2, 2, 2, 2, 2, 2, 2, 2,10892, 2, 2, 2, 2, 2, 2, 2, 2, 2,10902, 2, 2, 2, 2, 2, 2, 2, 2, 2,10912, 2, 2, 2, 2, 2, 2, 2, 2, 2,10922, 2, 2, 2, 2, 2, 2, 2, 2, 2,10932, 2, 2, 2, 2, 2, 2, 2, 2, 2,10942, 2, 2, 2, 2, 2, 2, 2, 2, 2,10952, 2, 2, 2, 2, 2, 2, 2, 2, 2,10962, 2, 2, 2, 2, 2, 2, 2, 2, 2,10972, 2, 2, 2, 2, 2, 2, 2, 2, 2,10982, 2, 2, 2, 2, 2, 2, 2, 2, 2,10992, 2, 2, 2, 2, 2, 2, 2, 2, 2,11002, 2, 2, 2, 2, 2, 2, 2, 2, 2,11012, 2, 2, 2, 2, 2, 2, 2, 2, 2,11022, 2, 2, 2, 2, 2, 2, 2, 2, 2,11032, 2, 2, 2, 2, 2, 2, 2, 2, 2,11042, 2, 2, 2, 2, 2, 2, 2, 2, 2,11052, 2, 2, 2, 2, 2, 2, 2, 2, 2,11062, 2, 2, 2, 2, 2, 2, 2, 2, 2,11072, 2, 2, 2, 2, 2, 2, 2, 2, 2,11082, 2, 2, 2, 2, 2, 2, 2, 2, 2,11092, 2, 2, 2, 2, 2, 1, 2, 3, 4,11105, 6, 7, 8, 9, 10, 11, 12, 13, 14,111115, 16, 17, 18, 19, 20, 21, 22, 23, 24,111225, 26, 27, 28, 29, 30, 31, 32, 33, 34,111335, 36, 37, 38, 39, 40, 41, 42, 43, 44,111445, 46, 47, 48, 49, 50, 51, 52, 53, 54,111555, 56, 57, 58, 59, 60, 61, 62, 63, 64,111665, 66, 67, 68, 69, 70, 71, 72, 73, 74,111775, 76, 77, 78, 79, 80, 81, 82, 83, 84,111885, 86, 87, 88, 89, 90, 91, 92, 93, 94,111995, 96, 97, 98, 99, 100, 101, 102, 103, 104,1120105, 106, 107, 108, 109, 110, 111, 112, 113, 114,1121115, 116, 117, 118, 119, 120, 121, 122, 123, 124,1122125, 126, 127, 128, 129, 130, 131, 132, 133, 134,1123135, 136, 137, 138, 139, 140, 141, 142, 143, 144,1124145, 146, 147, 148, 149, 150, 151, 152, 153, 154,1125155, 156, 157, 158, 159, 160, 161, 162, 163, 164,1126165, 166, 167, 168, 169, 170, 171, 172, 173, 174,1127175, 176, 177, 178, 179, 180, 181, 182, 183, 184,1128185, 186, 187, 188, 189, 190, 191, 192, 193, 194,1129195, 196, 197, 198, 199, 200, 201, 202, 203, 204,1130205, 206, 207, 208, 209, 210, 211, 212, 213, 214,1131215, 216, 217, 218, 219, 220, 221, 222, 223, 224,1132225, 226, 227, 228, 229, 230, 231, 232, 233, 234,1133235, 236, 237, 238, 239, 240, 241, 242, 243, 244,1134245, 246, 247, 248, 249, 250, 251, 252, 253, 254,1135255, 256, 257, 258, 259, 260, 261, 262, 263, 264,1136265, 266, 267, 268, 269, 270, 271, 272, 273, 274,1137275, 276, 277, 278, 279, 280, 281, 282, 283, 284,1138285, 286, 287, 288, 289, 290, 291, 292, 293, 294,1139295, 296, 297, 298, 299, 300, 301, 302, 303, 304,1140305, 306, 307, 308, 309, 310, 311, 312, 313, 314,1141315, 316, 317, 318, 319, 320, 321, 322, 323, 324,1142325, 326, 327, 328, 329, 330, 331, 332, 333, 334,1143335, 336, 337, 338, 339, 340, 341, 342, 343, 344,1144345, 346, 347, 348, 349, 350, 351, 352, 353, 354,1145355, 356, 357, 358, 359, 360, 361, 362, 363, 364,1146365, 366, 367, 368, 369, 370, 371, 372, 373, 374,1147375, 376, 377, 378, 379, 380, 381, 382, 383, 384,1148385, 386, 387, 388, 389, 390, 391, 392, 393, 394,1149395, 396, 397, 398, 399, 400, 401, 402, 403, 404,1150405, 406, 407, 408, 409, 410, 411, 412, 413, 414,1151415, 416, 417, 418, 419, 420, 421, 422, 423, 424,1152425, 426, 427, 428, 429, 430, 431, 432, 433, 434,1153435, 436, 437, 438, 439, 440, 441, 442, 443, 444,1154445, 446, 447, 448, 449, 450, 451, 452, 453, 454,1155455, 456, 457, 458, 459, 460, 461, 462, 463, 4641156};11571158#if YYDEBUG1159/* YYRLINE[YYN] -- Source line where rule number YYN was defined. */1160static const yytype_int16 yyrline[] =1161{11620, 355, 355, 361, 364, 369, 372, 375, 379, 382,1163385, 389, 393, 397, 401, 405, 409, 415, 422, 425,1164428, 431, 434, 439, 447, 454, 461, 467, 471, 478,1165481, 487, 505, 530, 538, 543, 570, 578, 584, 588,1166592, 612, 613, 614, 615, 621, 622, 627, 632, 641,1167642, 647, 655, 656, 662, 671, 672, 677, 682, 687,1168695, 696, 705, 717, 718, 727, 728, 737, 738, 747,1169748, 756, 757, 765, 766, 774, 775, 775, 793, 794,1170810, 814, 818, 822, 827, 831, 835, 839, 843, 847,1171851, 858, 861, 872, 879, 884, 891, 896, 901, 908,1172912, 916, 920, 925, 930, 939, 939, 950, 954, 961,1173966, 974, 982, 994, 997, 1004, 1017, 1040, 1063, 1078,11741103, 1114, 1124, 1134, 1144, 1153, 1156, 1160, 1164, 1169,11751177, 1182, 1187, 1192, 1197, 1206, 1216, 1243, 1252, 1259,11761266, 1273, 1280, 1288, 1296, 1306, 1316, 1323, 1333, 1339,11771342, 1349, 1353, 1357, 1365, 1374, 1377, 1388, 1391, 1394,11781398, 1402, 1406, 1410, 1413, 1418, 1422, 1427, 1435, 1439,11791444, 1450, 1456, 1463, 1468, 1473, 1481, 1486, 1498, 1512,11801518, 1523, 1531, 1539, 1547, 1555, 1563, 1571, 1579, 1587,11811595, 1602, 1609, 1613, 1618, 1623, 1628, 1633, 1638, 1643,11821647, 1651, 1655, 1659, 1665, 1671, 1681, 1688, 1691, 1699,11831706, 1717, 1722, 1730, 1734, 1744, 1747, 1753, 1759, 1765,11841773, 1783, 1787, 1791, 1795, 1800, 1804, 1809, 1814, 1819,11851824, 1829, 1834, 1839, 1844, 1849, 1855, 1861, 1867, 1872,11861877, 1882, 1887, 1892, 1897, 1902, 1907, 1912, 1917, 1922,11871927, 1934, 1939, 1944, 1949, 1954, 1959, 1964, 1969, 1974,11881979, 1984, 1989, 1997, 2005, 2013, 2019, 2025, 2031, 2037,11892043, 2049, 2055, 2061, 2067, 2073, 2079, 2085, 2091, 2097,11902103, 2109, 2115, 2121, 2127, 2133, 2139, 2145, 2151, 2157,11912163, 2169, 2175, 2181, 2187, 2193, 2199, 2205, 2211, 2219,11922227, 2235, 2243, 2251, 2259, 2267, 2275, 2283, 2291, 2299,11932307, 2313, 2319, 2325, 2331, 2337, 2343, 2349, 2355, 2361,11942367, 2373, 2379, 2385, 2391, 2397, 2403, 2409, 2415, 2421,11952427, 2433, 2439, 2445, 2451, 2457, 2463, 2469, 2475, 2481,11962487, 2493, 2499, 2505, 2511, 2517, 2523, 2527, 2531, 2535,11972540, 2545, 2550, 2555, 2560, 2565, 2570, 2575, 2580, 2585,11982590, 2595, 2600, 2605, 2611, 2617, 2623, 2629, 2635, 2641,11992647, 2653, 2659, 2665, 2671, 2677, 2683, 2688, 2693, 2698,12002703, 2708, 2713, 2718, 2723, 2728, 2733, 2738, 2743, 2748,12012753, 2758, 2763, 2768, 2773, 2778, 2783, 2788, 2793, 2798,12022803, 2808, 2813, 2818, 2823, 2828, 2833, 2838, 2843, 2848,12032854, 2860, 2865, 2870, 2875, 2881, 2886, 2891, 2896, 2902,12042907, 2912, 2917, 2923, 2928, 2933, 2938, 2944, 2950, 2956,12052962, 2967, 2973, 2979, 2985, 2990, 2995, 3000, 3005, 3010,12063016, 3021, 3026, 3031, 3037, 3042, 3047, 3052, 3058, 3063,12073068, 3073, 3079, 3084, 3089, 3094, 3100, 3105, 3110, 3115,12083121, 3126, 3131, 3136, 3142, 3147, 3152, 3157, 3163, 3168,12093173, 3178, 3184, 3189, 3194, 3199, 3205, 3210, 3215, 3220,12103226, 3231, 3236, 3241, 3247, 3252, 3257, 3262, 3268, 3273,12113278, 3283, 3289, 3294, 3299, 3304, 3310, 3315, 3320, 3325,12123330, 3335, 3340, 3345, 3350, 3355, 3360, 3365, 3370, 3375,12133380, 3385, 3390, 3395, 3400, 3405, 3410, 3415, 3420, 3425,12143430, 3436, 3442, 3448, 3454, 3460, 3466, 3472, 3479, 3486,12153492, 3498, 3504, 3510, 3517, 3524, 3531, 3538, 3542, 3546,12163551, 3567, 3572, 3577, 3585, 3585, 3602, 3602, 3612, 3615,12173628, 3650, 3677, 3681, 3687, 3692, 3703, 3706, 3712, 3718,12183727, 3730, 3736, 3740, 3741, 3747, 3748, 3749, 3750, 3751,12193752, 3753, 3754, 3758, 3766, 3767, 3771, 3767, 3783, 3784,12203788, 3788, 3795, 3795, 3809, 3812, 3820, 3828, 3839, 3840,12213844, 3847, 3854, 3861, 3865, 3873, 3877, 3890, 3893, 3900,12223900, 3920, 3923, 3929, 3941, 3953, 3956, 3964, 3964, 3979,12233979, 3997, 3997, 4018, 4021, 4027, 4030, 4036, 4040, 4047,12244052, 4057, 4064, 4067, 4071, 4075, 4079, 4088, 4092, 4101,12254104, 4107, 4115, 4115, 4157, 4162, 4165, 4170, 4173, 4178,12264181, 4186, 4189, 4194, 4197, 4202, 4205, 4210, 4214, 4219,12274223, 4228, 4232, 4239, 4242, 4247, 4250, 4253, 4256, 4259,12284264, 4273, 4284, 4289, 4297, 4301, 4306, 4310, 4315, 4319,12294324, 4328, 4335, 4338, 4343, 4346, 4349, 4352, 4357, 4360,12304365, 4371, 4374, 4377, 4380, 4385, 4389, 4394, 4398, 4403,12314407, 4414, 4417, 4422, 4425, 4430, 4433, 4439, 4442, 4447,123244501233};1234#endif12351236/** Accessing symbol of state STATE. */1237#define YY_ACCESSING_SYMBOL(State) YY_CAST (yysymbol_kind_t, yystos[State])12381239#if 11240/* The user-facing name of the symbol whose (internal) number is1241YYSYMBOL. No bounds checking. */1242static const char *yysymbol_name (yysymbol_kind_t yysymbol) YY_ATTRIBUTE_UNUSED;12431244/* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.1245First, the terminals, then, starting at YYNTOKENS, nonterminals. */1246static const char *const yytname[] =1247{1248"\"end of file\"", "error", "\"invalid token\"", "CONST", "BOOL", "INT",1249"UINT", "FLOAT", "BVEC2", "BVEC3", "BVEC4", "IVEC2", "IVEC3", "IVEC4",1250"UVEC2", "UVEC3", "UVEC4", "VEC2", "VEC3", "VEC4", "MAT2", "MAT3",1251"MAT4", "MAT2X2", "MAT2X3", "MAT2X4", "MAT3X2", "MAT3X3", "MAT3X4",1252"MAT4X2", "MAT4X3", "MAT4X4", "SAMPLER2D", "SAMPLER3D", "SAMPLERCUBE",1253"SAMPLER2DSHADOW", "SAMPLERCUBESHADOW", "SAMPLER2DARRAY",1254"SAMPLER2DARRAYSHADOW", "ISAMPLER2D", "ISAMPLER3D", "ISAMPLERCUBE",1255"ISAMPLER2DARRAY", "USAMPLER2D", "USAMPLER3D", "USAMPLERCUBE",1256"USAMPLER2DARRAY", "SAMPLER", "SAMPLERSHADOW", "TEXTURE2D", "TEXTURE3D",1257"TEXTURECUBE", "TEXTURE2DARRAY", "ITEXTURE2D", "ITEXTURE3D",1258"ITEXTURECUBE", "ITEXTURE2DARRAY", "UTEXTURE2D", "UTEXTURE3D",1259"UTEXTURECUBE", "UTEXTURE2DARRAY", "ATTRIBUTE", "VARYING", "FLOAT16_T",1260"FLOAT32_T", "DOUBLE", "FLOAT64_T", "INT64_T", "UINT64_T", "INT32_T",1261"UINT32_T", "INT16_T", "UINT16_T", "INT8_T", "UINT8_T", "I64VEC2",1262"I64VEC3", "I64VEC4", "U64VEC2", "U64VEC3", "U64VEC4", "I32VEC2",1263"I32VEC3", "I32VEC4", "U32VEC2", "U32VEC3", "U32VEC4", "I16VEC2",1264"I16VEC3", "I16VEC4", "U16VEC2", "U16VEC3", "U16VEC4", "I8VEC2",1265"I8VEC3", "I8VEC4", "U8VEC2", "U8VEC3", "U8VEC4", "DVEC2", "DVEC3",1266"DVEC4", "DMAT2", "DMAT3", "DMAT4", "F16VEC2", "F16VEC3", "F16VEC4",1267"F16MAT2", "F16MAT3", "F16MAT4", "F32VEC2", "F32VEC3", "F32VEC4",1268"F32MAT2", "F32MAT3", "F32MAT4", "F64VEC2", "F64VEC3", "F64VEC4",1269"F64MAT2", "F64MAT3", "F64MAT4", "DMAT2X2", "DMAT2X3", "DMAT2X4",1270"DMAT3X2", "DMAT3X3", "DMAT3X4", "DMAT4X2", "DMAT4X3", "DMAT4X4",1271"F16MAT2X2", "F16MAT2X3", "F16MAT2X4", "F16MAT3X2", "F16MAT3X3",1272"F16MAT3X4", "F16MAT4X2", "F16MAT4X3", "F16MAT4X4", "F32MAT2X2",1273"F32MAT2X3", "F32MAT2X4", "F32MAT3X2", "F32MAT3X3", "F32MAT3X4",1274"F32MAT4X2", "F32MAT4X3", "F32MAT4X4", "F64MAT2X2", "F64MAT2X3",1275"F64MAT2X4", "F64MAT3X2", "F64MAT3X3", "F64MAT3X4", "F64MAT4X2",1276"F64MAT4X3", "F64MAT4X4", "ATOMIC_UINT", "ACCSTRUCTNV", "ACCSTRUCTEXT",1277"RAYQUERYEXT", "FCOOPMATNV", "ICOOPMATNV", "UCOOPMATNV", "COOPMAT",1278"HITOBJECTNV", "HITOBJECTATTRNV", "SAMPLERCUBEARRAY",1279"SAMPLERCUBEARRAYSHADOW", "ISAMPLERCUBEARRAY", "USAMPLERCUBEARRAY",1280"SAMPLER1D", "SAMPLER1DARRAY", "SAMPLER1DARRAYSHADOW", "ISAMPLER1D",1281"SAMPLER1DSHADOW", "SAMPLER2DRECT", "SAMPLER2DRECTSHADOW",1282"ISAMPLER2DRECT", "USAMPLER2DRECT", "SAMPLERBUFFER", "ISAMPLERBUFFER",1283"USAMPLERBUFFER", "SAMPLER2DMS", "ISAMPLER2DMS", "USAMPLER2DMS",1284"SAMPLER2DMSARRAY", "ISAMPLER2DMSARRAY", "USAMPLER2DMSARRAY",1285"SAMPLEREXTERNALOES", "SAMPLEREXTERNAL2DY2YEXT", "ISAMPLER1DARRAY",1286"USAMPLER1D", "USAMPLER1DARRAY", "F16SAMPLER1D", "F16SAMPLER2D",1287"F16SAMPLER3D", "F16SAMPLER2DRECT", "F16SAMPLERCUBE",1288"F16SAMPLER1DARRAY", "F16SAMPLER2DARRAY", "F16SAMPLERCUBEARRAY",1289"F16SAMPLERBUFFER", "F16SAMPLER2DMS", "F16SAMPLER2DMSARRAY",1290"F16SAMPLER1DSHADOW", "F16SAMPLER2DSHADOW", "F16SAMPLER1DARRAYSHADOW",1291"F16SAMPLER2DARRAYSHADOW", "F16SAMPLER2DRECTSHADOW",1292"F16SAMPLERCUBESHADOW", "F16SAMPLERCUBEARRAYSHADOW", "IMAGE1D",1293"IIMAGE1D", "UIMAGE1D", "IMAGE2D", "IIMAGE2D", "UIMAGE2D", "IMAGE3D",1294"IIMAGE3D", "UIMAGE3D", "IMAGE2DRECT", "IIMAGE2DRECT", "UIMAGE2DRECT",1295"IMAGECUBE", "IIMAGECUBE", "UIMAGECUBE", "IMAGEBUFFER", "IIMAGEBUFFER",1296"UIMAGEBUFFER", "IMAGE1DARRAY", "IIMAGE1DARRAY", "UIMAGE1DARRAY",1297"IMAGE2DARRAY", "IIMAGE2DARRAY", "UIMAGE2DARRAY", "IMAGECUBEARRAY",1298"IIMAGECUBEARRAY", "UIMAGECUBEARRAY", "IMAGE2DMS", "IIMAGE2DMS",1299"UIMAGE2DMS", "IMAGE2DMSARRAY", "IIMAGE2DMSARRAY", "UIMAGE2DMSARRAY",1300"F16IMAGE1D", "F16IMAGE2D", "F16IMAGE3D", "F16IMAGE2DRECT",1301"F16IMAGECUBE", "F16IMAGE1DARRAY", "F16IMAGE2DARRAY",1302"F16IMAGECUBEARRAY", "F16IMAGEBUFFER", "F16IMAGE2DMS",1303"F16IMAGE2DMSARRAY", "I64IMAGE1D", "U64IMAGE1D", "I64IMAGE2D",1304"U64IMAGE2D", "I64IMAGE3D", "U64IMAGE3D", "I64IMAGE2DRECT",1305"U64IMAGE2DRECT", "I64IMAGECUBE", "U64IMAGECUBE", "I64IMAGEBUFFER",1306"U64IMAGEBUFFER", "I64IMAGE1DARRAY", "U64IMAGE1DARRAY",1307"I64IMAGE2DARRAY", "U64IMAGE2DARRAY", "I64IMAGECUBEARRAY",1308"U64IMAGECUBEARRAY", "I64IMAGE2DMS", "U64IMAGE2DMS", "I64IMAGE2DMSARRAY",1309"U64IMAGE2DMSARRAY", "TEXTURECUBEARRAY", "ITEXTURECUBEARRAY",1310"UTEXTURECUBEARRAY", "TEXTURE1D", "ITEXTURE1D", "UTEXTURE1D",1311"TEXTURE1DARRAY", "ITEXTURE1DARRAY", "UTEXTURE1DARRAY", "TEXTURE2DRECT",1312"ITEXTURE2DRECT", "UTEXTURE2DRECT", "TEXTUREBUFFER", "ITEXTUREBUFFER",1313"UTEXTUREBUFFER", "TEXTURE2DMS", "ITEXTURE2DMS", "UTEXTURE2DMS",1314"TEXTURE2DMSARRAY", "ITEXTURE2DMSARRAY", "UTEXTURE2DMSARRAY",1315"F16TEXTURE1D", "F16TEXTURE2D", "F16TEXTURE3D", "F16TEXTURE2DRECT",1316"F16TEXTURECUBE", "F16TEXTURE1DARRAY", "F16TEXTURE2DARRAY",1317"F16TEXTURECUBEARRAY", "F16TEXTUREBUFFER", "F16TEXTURE2DMS",1318"F16TEXTURE2DMSARRAY", "SUBPASSINPUT", "SUBPASSINPUTMS", "ISUBPASSINPUT",1319"ISUBPASSINPUTMS", "USUBPASSINPUT", "USUBPASSINPUTMS", "F16SUBPASSINPUT",1320"F16SUBPASSINPUTMS", "SPIRV_INSTRUCTION", "SPIRV_EXECUTION_MODE",1321"SPIRV_EXECUTION_MODE_ID", "SPIRV_DECORATE", "SPIRV_DECORATE_ID",1322"SPIRV_DECORATE_STRING", "SPIRV_TYPE", "SPIRV_STORAGE_CLASS",1323"SPIRV_BY_REFERENCE", "SPIRV_LITERAL", "ATTACHMENTEXT", "IATTACHMENTEXT",1324"UATTACHMENTEXT", "LEFT_OP", "RIGHT_OP", "INC_OP", "DEC_OP", "LE_OP",1325"GE_OP", "EQ_OP", "NE_OP", "AND_OP", "OR_OP", "XOR_OP", "MUL_ASSIGN",1326"DIV_ASSIGN", "ADD_ASSIGN", "MOD_ASSIGN", "LEFT_ASSIGN", "RIGHT_ASSIGN",1327"AND_ASSIGN", "XOR_ASSIGN", "OR_ASSIGN", "SUB_ASSIGN", "STRING_LITERAL",1328"LEFT_PAREN", "RIGHT_PAREN", "LEFT_BRACKET", "RIGHT_BRACKET",1329"LEFT_BRACE", "RIGHT_BRACE", "DOT", "COMMA", "COLON", "EQUAL",1330"SEMICOLON", "BANG", "DASH", "TILDE", "PLUS", "STAR", "SLASH", "PERCENT",1331"LEFT_ANGLE", "RIGHT_ANGLE", "VERTICAL_BAR", "CARET", "AMPERSAND",1332"QUESTION", "INVARIANT", "HIGH_PRECISION", "MEDIUM_PRECISION",1333"LOW_PRECISION", "PRECISION", "PACKED", "RESOURCE", "SUPERP",1334"FLOATCONSTANT", "INTCONSTANT", "UINTCONSTANT", "BOOLCONSTANT",1335"IDENTIFIER", "TYPE_NAME", "CENTROID", "IN", "OUT", "INOUT", "STRUCT",1336"VOID", "WHILE", "BREAK", "CONTINUE", "DO", "ELSE", "FOR", "IF",1337"DISCARD", "RETURN", "SWITCH", "CASE", "DEFAULT", "TERMINATE_INVOCATION",1338"TERMINATE_RAY", "IGNORE_INTERSECTION", "UNIFORM", "SHARED", "BUFFER",1339"TILEIMAGEEXT", "FLAT", "SMOOTH", "LAYOUT", "DOUBLECONSTANT",1340"INT16CONSTANT", "UINT16CONSTANT", "FLOAT16CONSTANT", "INT32CONSTANT",1341"UINT32CONSTANT", "INT64CONSTANT", "UINT64CONSTANT", "SUBROUTINE",1342"DEMOTE", "PAYLOADNV", "PAYLOADINNV", "HITATTRNV", "CALLDATANV",1343"CALLDATAINNV", "PAYLOADEXT", "PAYLOADINEXT", "HITATTREXT",1344"CALLDATAEXT", "CALLDATAINEXT", "PATCH", "SAMPLE", "NONUNIFORM",1345"COHERENT", "VOLATILE", "RESTRICT", "READONLY", "WRITEONLY",1346"DEVICECOHERENT", "QUEUEFAMILYCOHERENT", "WORKGROUPCOHERENT",1347"SUBGROUPCOHERENT", "NONPRIVATE", "SHADERCALLCOHERENT", "NOPERSPECTIVE",1348"EXPLICITINTERPAMD", "PERVERTEXEXT", "PERVERTEXNV", "PERPRIMITIVENV",1349"PERVIEWNV", "PERTASKNV", "PERPRIMITIVEEXT", "TASKPAYLOADWORKGROUPEXT",1350"PRECISE", "$accept", "variable_identifier", "primary_expression",1351"postfix_expression", "integer_expression", "function_call",1352"function_call_or_method", "function_call_generic",1353"function_call_header_no_parameters",1354"function_call_header_with_parameters", "function_call_header",1355"function_identifier", "unary_expression", "unary_operator",1356"multiplicative_expression", "additive_expression", "shift_expression",1357"relational_expression", "equality_expression", "and_expression",1358"exclusive_or_expression", "inclusive_or_expression",1359"logical_and_expression", "logical_xor_expression",1360"logical_or_expression", "conditional_expression", "$@1",1361"assignment_expression", "assignment_operator", "expression",1362"constant_expression", "declaration", "block_structure", "$@2",1363"identifier_list", "function_prototype", "function_declarator",1364"function_header_with_parameters", "function_header",1365"parameter_declarator", "parameter_declaration",1366"parameter_type_specifier", "init_declarator_list", "single_declaration",1367"fully_specified_type", "invariant_qualifier", "interpolation_qualifier",1368"layout_qualifier", "layout_qualifier_id_list", "layout_qualifier_id",1369"precise_qualifier", "type_qualifier", "single_type_qualifier",1370"storage_qualifier", "non_uniform_qualifier", "type_name_list",1371"type_specifier", "array_specifier", "type_parameter_specifier_opt",1372"type_parameter_specifier", "type_parameter_specifier_list",1373"type_specifier_nonarray", "precision_qualifier", "struct_specifier",1374"$@3", "$@4", "struct_declaration_list", "struct_declaration",1375"struct_declarator_list", "struct_declarator", "initializer",1376"initializer_list", "declaration_statement", "statement",1377"simple_statement", "demote_statement", "compound_statement", "$@5",1378"$@6", "statement_no_new_scope", "statement_scoped", "$@7", "$@8",1379"compound_statement_no_new_scope", "statement_list",1380"expression_statement", "selection_statement",1381"selection_statement_nonattributed", "selection_rest_statement",1382"condition", "switch_statement", "switch_statement_nonattributed", "$@9",1383"switch_statement_list", "case_label", "iteration_statement",1384"iteration_statement_nonattributed", "$@10", "$@11", "$@12",1385"for_init_statement", "conditionopt", "for_rest_statement",1386"jump_statement", "translation_unit", "external_declaration",1387"function_definition", "$@13", "attribute", "attribute_list",1388"single_attribute", "spirv_requirements_list",1389"spirv_requirements_parameter", "spirv_extension_list",1390"spirv_capability_list", "spirv_execution_mode_qualifier",1391"spirv_execution_mode_parameter_list", "spirv_execution_mode_parameter",1392"spirv_execution_mode_id_parameter_list",1393"spirv_storage_class_qualifier", "spirv_decorate_qualifier",1394"spirv_decorate_parameter_list", "spirv_decorate_parameter",1395"spirv_decorate_id_parameter_list", "spirv_decorate_id_parameter",1396"spirv_decorate_string_parameter_list", "spirv_type_specifier",1397"spirv_type_parameter_list", "spirv_type_parameter",1398"spirv_instruction_qualifier", "spirv_instruction_qualifier_list",1399"spirv_instruction_qualifier_id", YY_NULLPTR1400};14011402static const char *1403yysymbol_name (yysymbol_kind_t yysymbol)1404{1405return yytname[yysymbol];1406}1407#endif14081409#define YYPACT_NINF (-872)14101411#define yypact_value_is_default(Yyn) \1412((Yyn) == YYPACT_NINF)14131414#define YYTABLE_NINF (-695)14151416#define yytable_value_is_error(Yyn) \1417014181419/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing1420STATE-NUM. */1421static const yytype_int16 yypact[] =1422{14234648, -872, -872, -872, -872, -872, -872, -872, -872, -872,1424-872, -872, -872, -872, -872, -872, -872, -872, -872, -872,1425-872, -872, -872, -872, -872, -872, -872, -872, -872, -872,1426-872, -872, -872, -872, -872, -872, -872, -872, -872, -872,1427-872, -872, -872, -872, -872, -872, -872, -872, -872, -872,1428-872, -872, -872, -872, -872, -872, -872, -872, -872, -872,1429-872, -872, -872, -872, -872, -872, -872, -872, -872, -872,1430-872, -872, -872, -872, -872, -872, -872, -872, -872, -872,1431-872, -872, -872, -872, -872, -872, -872, -872, -872, -872,1432-872, -872, -872, -872, -872, -872, -872, -872, -872, -872,1433-872, -872, -872, -872, -872, -872, -872, -872, -872, -872,1434-872, -872, -872, -872, -872, -872, -872, -872, -872, -872,1435-872, -872, -872, -872, -872, -872, -872, -872, -872, -872,1436-872, -872, -872, -872, -872, -872, -872, -872, -872, -872,1437-872, -872, -872, -872, -872, -872, -872, -872, -872, -872,1438-872, -872, -872, -872, -872, -872, -872, -872, -872, -872,1439-872, -872, -872, -872, -872, -872, -872, -872, -872, -872,1440-872, -872, -872, -872, -872, -872, -872, -872, -872, -872,1441-872, -872, -872, -872, -872, -872, -872, -872, -872, -872,1442-872, -872, -872, -872, -872, -872, -872, -872, -872, -872,1443-872, -872, -872, -872, -872, -872, -872, -872, -872, -872,1444-872, -872, -872, -872, -872, -872, -872, -872, -872, -872,1445-872, -872, -872, -872, -872, -872, -872, -872, -872, -872,1446-872, -872, -872, -872, -872, -872, -872, -872, -872, -872,1447-872, -872, -872, -872, -872, -872, -872, -872, -872, -872,1448-872, -872, -872, -872, -872, -872, -872, -872, -872, -872,1449-872, -872, -872, -872, -872, -872, -872, -872, -872, -872,1450-872, -872, -872, -872, -872, -872, -872, -872, -872, -872,1451-872, -872, -872, -872, -872, -872, -872, -872, -872, -872,1452-872, -872, -872, -872, -872, -872, -872, -872, -872, -872,1453-872, -872, -872, -872, -872, -872, -872, -872, -872, -872,1454-872, -872, -872, -872, -872, -872, -872, -872, -305, -301,1455-289, -276, -246, -238, -227, -182, -872, -872, -872, -872,1456-872, -168, -872, -872, -872, -872, -872, -55, -872, -872,1457-872, -872, -872, -319, -872, -872, -872, -872, -872, -872,1458-872, -135, -120, -872, -872, -872, -872, -872, -872, -872,1459-872, -872, -872, -872, -872, -872, -872, -872, -872, -872,1460-872, -872, -872, -872, -872, -872, -872, -872, -872, -872,1461-872, -872, -872, -872, -872, -872, -872, -872, -327, -114,1462-81, -124, 7882, -313, -872, -101, -872, -872, -872, -872,14635572, -872, -872, -872, -872, -94, -872, -872, 952, -872,1464-872, 7882, -73, -872, -872, -872, 6034, -78, -252, -250,1465-216, -197, -136, -78, -127, -49, 12303, -872, -13, -346,1466-39, -872, -309, -872, -10, -9, 7882, -872, -872, -872,14677882, -38, -37, -872, -267, -872, -236, -872, -872, 10983,1468-2, -872, -872, -872, 3, -35, 7882, -872, -8, -6,1469-1, -872, -256, -872, -255, -4, 4, 7, 8, -237,147010, 11, 13, 14, 15, 18, -232, 9, 19, 27,1471-188, -872, -3, 7882, -872, 20, -872, -229, -872, -872,1472-219, 9223, -872, -272, 1414, -872, -872, -872, -872, -872,1473-2, -277, -872, 9663, -265, -872, -23, -872, -112, 10983,147410983, -872, 10983, -872, -872, -872, -872, -872, -872, -872,1475-872, -872, -872, -872, -872, -872, -872, -872, -872, -872,1476-872, -872, -253, -872, -872, -872, 29, -204, 11423, 28,1477-872, 10983, -872, 31, -321, 17, -9, 32, -872, -325,1478-78, -872, 5, -872, -330, 33, -125, 10983, -123, -872,1479-130, -119, -146, -118, 34, -103, -78, -872, 11863, -872,1480-74, 10983, 36, -49, -872, 7882, 24, 6496, -872, 7882,148110983, -872, -346, -872, 30, -872, -872, -33, -133, -105,1482-303, -11, -14, 21, 23, 48, 52, -316, 41, -872,148310103, -872, 42, -872, -872, 46, 38, 40, -872, 64,148467, 60, 10543, 74, 10983, 68, 65, 69, 70, 73,1485-167, -872, -872, -47, -872, -114, 77, 31, -872, -872,1486-872, -872, -872, 1876, -872, -872, -872, -872, -872, -872,1487-872, -872, -872, 5110, 17, 9663, -261, 8343, -872, -872,14889663, 7882, -872, 50, -872, -872, -872, -203, -872, -872,148910983, 51, -872, -872, 10983, 87, -872, -872, -872, 10983,1490-872, -872, -872, -312, -872, -872, -200, 80, -872, -872,1491-872, -872, -872, -872, -199, -872, -196, -872, -872, -195,149271, -872, -872, -872, -872, -169, -872, -164, -872, -872,1493-872, -872, -872, -161, -872, 83, -872, -160, 84, -153,149480, -872, -278, -152, -872, 91, 94, -872, -872, 24,1495-2, -43, -872, -872, -872, 6958, -872, -872, -872, 10983,149610983, 10983, 10983, 10983, 10983, 10983, 10983, 10983, 10983, 10983,149710983, 10983, 10983, 10983, 10983, 10983, 10983, 10983, -872, -872,1498-872, 93, -872, 2338, -872, -872, -872, 2338, -872, 10983,1499-872, -872, -42, 10983, -32, -872, -872, -872, -872, -872,1500-872, -872, -872, -872, -872, -872, -872, -872, -872, -872,1501-872, 10983, 10983, -872, -872, -872, -872, -872, -872, -872,15029663, -872, -872, -76, -872, 7420, -872, -872, 96, 95,1503-872, -872, -872, -872, -872, -132, -131, -872, -311, -872,1504-330, -872, -330, -872, 10983, 10983, -872, -130, -872, -130,1505-872, -146, -146, -872, 101, 34, -872, 11863, -872, 10983,1506-872, -872, -41, 17, 24, -872, -872, -872, -872, -872,1507-33, -33, -133, -133, -105, -105, -105, -105, -303, -303,1508-11, -14, 21, 23, 48, 52, 10983, -872, 2338, 4186,150959, 3724, -151, -872, -150, -872, -872, -872, -872, -872,15108783, -872, -872, -872, 105, -872, 72, -872, -149, -872,1511-148, -872, -141, -872, -140, -872, -139, -138, -872, -872,1512-872, -28, 102, 95, 75, 107, 106, -872, -872, 4186,1513108, -872, -872, -872, -872, -872, -872, -872, -872, -872,1514-872, -872, 10983, -872, 100, 2800, 10983, -872, 104, 109,151576, 112, 3262, -872, 113, -872, 9663, -872, -872, -872,1516-137, 10983, 2800, 108, -872, -872, 2338, -872, 110, 95,1517-872, -872, 2338, 114, -872, -8721518};15191520/* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.1521Performed when YYTABLE does not specify something else to do. Zero1522means the default is an error. */1523static const yytype_int16 yydefact[] =1524{15250, 168, 225, 223, 224, 222, 229, 230, 231, 232,1526233, 234, 235, 236, 237, 226, 227, 228, 238, 239,1527240, 241, 242, 243, 244, 245, 246, 247, 248, 249,1528351, 352, 353, 354, 355, 356, 357, 377, 378, 379,1529380, 381, 382, 383, 392, 405, 406, 393, 394, 396,1530395, 397, 398, 399, 400, 401, 402, 403, 404, 177,1531178, 251, 252, 250, 253, 260, 261, 258, 259, 256,1532257, 254, 255, 283, 284, 285, 295, 296, 297, 280,1533281, 282, 292, 293, 294, 277, 278, 279, 289, 290,1534291, 274, 275, 276, 286, 287, 288, 262, 263, 264,1535298, 299, 300, 265, 266, 267, 310, 311, 312, 268,1536269, 270, 322, 323, 324, 271, 272, 273, 334, 335,1537336, 301, 302, 303, 304, 305, 306, 307, 308, 309,1538313, 314, 315, 316, 317, 318, 319, 320, 321, 325,1539326, 327, 328, 329, 330, 331, 332, 333, 337, 338,1540339, 340, 341, 342, 343, 344, 345, 349, 346, 347,1541348, 533, 534, 535, 536, 538, 182, 361, 362, 385,1542388, 350, 359, 360, 376, 358, 407, 408, 411, 412,1543413, 415, 416, 417, 419, 420, 421, 423, 424, 520,1544521, 384, 386, 387, 363, 364, 365, 409, 366, 370,1545371, 374, 414, 418, 422, 367, 368, 372, 373, 410,1546369, 375, 454, 456, 457, 458, 460, 461, 462, 464,1547465, 466, 468, 469, 470, 472, 473, 474, 476, 477,1548478, 480, 481, 482, 484, 485, 486, 488, 489, 490,1549492, 493, 494, 496, 497, 455, 459, 463, 467, 471,1550479, 483, 487, 475, 491, 495, 498, 499, 500, 501,1551502, 503, 504, 505, 506, 507, 508, 509, 510, 511,1552512, 513, 514, 515, 516, 517, 518, 519, 389, 390,1553391, 425, 434, 436, 430, 435, 437, 438, 440, 441,1554442, 444, 445, 446, 448, 449, 450, 452, 453, 426,1555427, 428, 439, 429, 431, 432, 433, 443, 447, 451,1556525, 526, 529, 530, 531, 532, 527, 528, 0, 0,15570, 0, 0, 0, 0, 0, 166, 167, 522, 523,1558524, 0, 631, 137, 541, 542, 543, 0, 540, 172,1559170, 171, 169, 0, 221, 173, 175, 176, 174, 139,1560138, 0, 203, 184, 186, 181, 188, 190, 185, 187,1561183, 189, 191, 179, 180, 206, 192, 199, 200, 201,1562202, 193, 194, 195, 196, 197, 198, 140, 141, 143,1563142, 144, 146, 147, 145, 205, 154, 630, 0, 632,15640, 114, 113, 0, 125, 130, 161, 160, 158, 162,15650, 155, 157, 163, 135, 216, 159, 539, 0, 627,1566629, 0, 0, 164, 165, 537, 0, 0, 0, 0,15670, 0, 0, 0, 0, 0, 0, 546, 0, 0,15680, 99, 0, 94, 0, 109, 0, 121, 115, 123,15690, 124, 0, 97, 131, 102, 0, 156, 136, 0,1570209, 215, 1, 628, 0, 0, 0, 96, 0, 0,15710, 639, 0, 697, 0, 0, 0, 0, 0, 0,15720, 0, 0, 0, 0, 0, 0, 0, 0, 637,15730, 635, 0, 0, 544, 151, 153, 0, 149, 207,15740, 0, 100, 0, 0, 633, 110, 116, 120, 122,1575118, 126, 117, 0, 132, 105, 0, 103, 0, 0,15760, 9, 0, 43, 42, 44, 41, 5, 6, 7,15778, 2, 16, 14, 15, 17, 10, 11, 12, 13,15783, 18, 37, 20, 25, 26, 0, 0, 30, 0,1579219, 0, 36, 218, 0, 210, 111, 0, 95, 0,15800, 695, 0, 647, 0, 0, 0, 0, 0, 664,15810, 0, 0, 0, 0, 0, 0, 689, 0, 662,15820, 0, 0, 0, 98, 0, 0, 0, 548, 0,15830, 148, 0, 204, 0, 211, 45, 49, 52, 55,158460, 63, 65, 67, 69, 71, 73, 75, 0, 34,15850, 101, 575, 584, 588, 0, 0, 0, 609, 0,15860, 0, 0, 0, 0, 0, 0, 0, 0, 0,158745, 78, 91, 0, 562, 0, 163, 135, 565, 586,1588564, 572, 563, 0, 566, 567, 590, 568, 597, 569,1589570, 605, 571, 0, 119, 0, 127, 0, 556, 134,15900, 0, 107, 0, 104, 38, 39, 0, 22, 23,15910, 0, 28, 27, 0, 221, 31, 33, 40, 0,1592217, 112, 699, 0, 700, 640, 0, 0, 698, 659,1593655, 656, 657, 658, 0, 653, 0, 93, 660, 0,15940, 674, 675, 676, 677, 0, 672, 0, 681, 682,1595683, 684, 680, 0, 678, 0, 685, 0, 0, 0,15962, 693, 216, 0, 691, 0, 0, 634, 636, 0,1597554, 0, 552, 547, 549, 0, 152, 150, 208, 0,15980, 0, 0, 0, 0, 0, 0, 0, 0, 0,15990, 0, 0, 0, 0, 0, 0, 0, 76, 212,1600213, 0, 574, 0, 607, 620, 619, 0, 611, 0,1601623, 621, 0, 0, 0, 604, 624, 625, 626, 573,160281, 82, 84, 83, 86, 87, 88, 89, 90, 85,160380, 0, 0, 589, 585, 587, 591, 598, 606, 129,16040, 559, 560, 0, 133, 0, 108, 4, 0, 24,160521, 32, 220, 643, 645, 0, 0, 696, 0, 649,16060, 648, 0, 651, 0, 0, 666, 0, 665, 0,1607668, 0, 0, 670, 0, 0, 690, 0, 687, 0,1608663, 638, 0, 555, 0, 550, 545, 46, 47, 48,160951, 50, 53, 54, 58, 59, 56, 57, 61, 62,161064, 66, 68, 70, 72, 74, 0, 214, 576, 0,16110, 0, 0, 622, 0, 603, 79, 92, 128, 557,16120, 106, 19, 641, 0, 642, 0, 654, 0, 661,16130, 673, 0, 679, 0, 686, 0, 0, 692, 551,1614553, 0, 0, 595, 0, 0, 0, 614, 613, 616,1615582, 599, 558, 561, 644, 646, 650, 652, 667, 669,1616671, 688, 0, 577, 0, 0, 0, 615, 0, 0,1617594, 0, 0, 592, 0, 77, 0, 579, 608, 578,16180, 617, 0, 582, 581, 583, 601, 596, 0, 618,1619612, 593, 602, 0, 610, 6001620};16211622/* YYPGOTO[NTERM-NUM]. */1623static const yytype_int16 yypgoto[] =1624{1625-872, -544, -872, -872, -872, -872, -872, -872, -872, -872,1626-872, -872, -436, -872, -392, -391, -490, -390, -269, -266,1627-268, -264, -262, -260, -872, -482, -872, -499, -872, -492,1628-534, 6, -872, -872, -872, 1, -403, -872, -872, 45,162944, 49, -872, -872, -406, -872, -872, -872, -872, -104,1630-872, -389, -375, -872, 12, -872, 0, -433, -872, -872,1631-872, -553, 145, -872, -872, -872, -560, -556, -233, -344,1632-614, -872, -373, -626, -871, -872, -430, -872, -872, -440,1633-437, -872, -872, 63, -737, -363, -872, -144, -872, -399,1634-872, -142, -872, -872, -872, -872, -134, -872, -872, -872,1635-872, -872, -872, -872, -872, 97, -872, -872, 2, -872,1636-71, -308, -416, -872, -872, -872, -304, -307, -302, -872,1637-872, -315, -310, -306, -300, -314, -872, -299, -317, -872,1638-395, -5381639};16401641/* YYDEFGOTO[NTERM-NUM]. */1642static const yytype_int16 yydefgoto[] =1643{16440, 530, 531, 532, 798, 533, 534, 535, 536, 537,1645538, 539, 620, 541, 587, 588, 589, 590, 591, 592,1646593, 594, 595, 596, 597, 621, 856, 622, 781, 623,1647711, 624, 388, 651, 508, 625, 390, 391, 392, 437,1648438, 439, 393, 394, 395, 396, 397, 398, 487, 488,1649399, 400, 401, 402, 542, 490, 599, 493, 450, 451,1650544, 405, 406, 407, 579, 483, 577, 578, 721, 722,1651649, 793, 628, 629, 630, 631, 632, 753, 892, 928,1652920, 921, 922, 929, 633, 634, 635, 636, 923, 895,1653637, 638, 924, 943, 639, 640, 641, 859, 757, 861,1654899, 918, 919, 642, 408, 409, 410, 434, 643, 480,1655481, 460, 461, 805, 806, 412, 684, 685, 689, 413,1656414, 695, 696, 703, 704, 707, 415, 713, 714, 416,1657462, 4631658};16591660/* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If1661positive, shift that token. If negative, reduce the rule whose1662number is the opposite. If YYTABLE_NINF, syntax error. */1663static const yytype_int16 yytable[] =1664{1665404, 389, 411, 440, 648, 455, 387, 785, 454, 598,1666455, 504, 403, 540, 678, 712, 858, 545, 702, 725,1667657, 724, 456, 688, 679, 447, 747, 456, 476, 672,1668678, 789, 673, 792, 736, 737, 794, 716, 431, 666,1669427, 669, 803, 672, 927, 485, 726, 440, 491, 442,1670417, 935, 443, 670, 418, 586, 492, 680, 681, 682,1671683, 927, 748, 674, 432, 447, 419, 644, 646, 486,1672738, 739, 428, 655, 656, 687, 804, 674, -694, 420,1673491, 447, 658, 659, -694, 600, 687, 645, 502, 687,1674491, 795, 600, 601, 575, 449, 600, 503, 687, 650,1675551, 553, -35, 790, 660, 668, 552, 554, 661, 421,1676466, 468, 470, 472, 474, 475, 478, 422, 751, 559,1677762, 586, 764, 505, 567, 560, 506, 581, 423, 507,1678568, 860, 586, 582, 675, 586, 464, 583, 467, 465,1679675, 465, 675, 584, 586, 675, 648, 675, 648, 675,1680675, 648, 663, 797, 675, 676, 807, 809, 664, 782,1681811, 813, 552, 810, 586, 801, 812, 814, 799, 724,1682572, 709, 469, 424, 573, 465, 868, 770, 771, 772,1683773, 774, 775, 776, 777, 778, 779, 816, 575, 425,1684575, 471, 818, 817, 465, 820, 823, 780, 819, 942,1685447, 821, 824, 826, 828, 900, 901, 906, 907, 827,1686829, 782, 782, 810, 814, 908, 909, 910, 911, 938,1687429, 817, 821, 824, 829, 782, 873, 875, 734, 735,1688874, 876, 785, 802, 732, 430, 733, 455, 436, 724,1689454, 698, 699, 700, 701, 521, 844, 845, 846, 847,1690653, 433, 473, 654, 456, 465, 903, 691, 692, 693,1691694, 477, 575, 686, 465, 690, 465, 862, 465, 697,1692705, 864, 465, 465, 712, 435, 712, 702, 702, 449,1693879, 688, 866, 867, 869, 708, 870, 833, 465, 678,1694444, 648, 457, 837, 838, 839, 586, 586, 586, 586,1695586, 586, 586, 586, 586, 586, 586, 586, 586, 586,1696586, 586, 937, 459, 715, 782, 785, 465, 783, 834,1697782, 834, 835, 863, 889, 334, 335, 336, 740, 741,1698782, 865, 687, 687, 782, 912, 575, 729, 730, 731,1699840, 841, 479, 842, 843, 687, 484, 687, 331, 494,1700848, 849, 489, 500, 501, 491, 547, 548, 549, 546,1701555, 550, 574, 742, 891, 569, 556, 893, 652, 557,1702558, 648, 561, 562, 600, 563, 564, 565, 586, 586,1703566, 570, 571, 667, 580, 662, -34, 502, 706, 745,1704673, 586, 441, 586, 717, 746, 677, 743, 744, 749,1705448, 754, 752, 755, 403, 756, 575, 893, 404, 389,1706411, 404, 403, 925, 387, 720, 404, 458, 411, 758,1707403, 728, 759, 403, 930, 760, 482, 648, 403, 763,1708766, 765, -36, 815, 767, 768, 441, 496, 769, 939,1709441, 796, 800, -29, 808, 822, 825, 830, 403, 543,1710831, 857, 403, 894, 872, 885, 448, 782, 896, 904,1711905, 916, 913, 915, 926, 932, 914, -580, 403, 931,1712456, 602, 936, 850, 945, 944, 852, 851, 727, 933,1713497, 853, 426, 576, 854, 498, 832, 855, 897, 499,1714890, 934, 940, 894, 627, 403, 941, 495, 898, 786,1715917, 787, 718, 877, 882, 453, 626, 881, 878, 788,1716456, 886, 888, 880, 0, 0, 884, 0, 0, 0,17170, 883, 0, 0, 0, 0, 0, 0, 887, 0,17180, 0, 0, 0, 0, 0, 0, 0, 0, 0,17190, 0, 0, 0, 0, 0, 0, 0, 671, 0,17200, 0, 0, 0, 0, 0, 0, 0, 0, 0,17210, 0, 0, 0, 0, 0, 0, 0, 0, 0,17220, 0, 0, 0, 0, 719, 0, 576, 0, 576,17230, 0, 0, 0, 0, 0, 0, 403, 0, 403,17240, 403, 0, 0, 0, 0, 0, 0, 0, 0,17250, 0, 0, 0, 0, 0, 0, 0, 0, 0,17260, 0, 0, 0, 0, 0, 0, 0, 0, 0,17270, 0, 0, 0, 0, 0, 0, 0, 0, 0,17280, 0, 0, 627, 0, 0, 0, 0, 0, 0,17290, 0, 0, 404, 0, 626, 0, 0, 0, 0,17300, 576, 0, 0, 0, 403, 0, 0, 0, 0,17310, 0, 0, 403, 0, 0, 0, 0, 0, 0,17320, 0, 0, 0, 0, 0, 0, 0, 0, 0,17330, 0, 0, 0, 0, 0, 0, 0, 0, 0,17340, 0, 0, 0, 0, 0, 0, 0, 0, 0,17350, 0, 0, 0, 0, 0, 0, 0, 0, 0,17360, 0, 0, 0, 0, 0, 0, 0, 0, 0,17370, 0, 0, 0, 0, 576, 0, 0, 0, 0,17380, 0, 0, 0, 0, 0, 0, 403, 0, 0,17390, 0, 0, 0, 0, 0, 0, 0, 0, 0,17400, 0, 0, 627, 0, 0, 0, 627, 0, 0,17410, 0, 0, 0, 0, 626, 0, 0, 0, 626,17420, 0, 0, 0, 0, 0, 0, 0, 0, 0,17430, 0, 0, 0, 0, 0, 0, 0, 0, 0,17440, 0, 0, 0, 0, 576, 0, 0, 0, 0,17450, 0, 0, 0, 0, 0, 0, 403, 0, 0,17460, 0, 0, 0, 0, 0, 0, 0, 0, 0,17470, 0, 0, 0, 0, 0, 0, 0, 0, 0,17480, 0, 0, 0, 0, 0, 0, 0, 0, 0,17490, 0, 0, 0, 0, 0, 0, 0, 0, 0,17500, 0, 0, 0, 0, 0, 0, 0, 627, 627,17510, 627, 0, 411, 0, 0, 0, 0, 0, 0,1752626, 626, 0, 626, 0, 0, 0, 0, 0, 0,17530, 0, 0, 0, 0, 0, 0, 0, 0, 0,17540, 0, 0, 0, 0, 0, 0, 0, 0, 627,17550, 0, 0, 0, 0, 0, 0, 0, 0, 0,17560, 626, 0, 0, 0, 627, 0, 0, 0, 0,17570, 0, 627, 0, 0, 0, 0, 626, 0, 0,17580, 0, 627, 0, 626, 0, 627, 0, 0, 0,17590, 0, 627, 0, 626, 0, 0, 0, 626, 0,17600, 0, 452, 0, 626, 1, 2, 3, 4, 5,17616, 7, 8, 9, 10, 11, 12, 13, 14, 15,176216, 17, 18, 19, 20, 21, 22, 23, 24, 25,176326, 27, 28, 29, 30, 31, 32, 33, 34, 35,176436, 37, 38, 39, 40, 41, 42, 43, 44, 45,176546, 47, 48, 49, 50, 51, 52, 53, 54, 55,176656, 57, 58, 59, 60, 61, 62, 63, 64, 65,176766, 67, 68, 69, 70, 71, 72, 73, 74, 75,176876, 77, 78, 79, 80, 81, 82, 83, 84, 85,176986, 87, 88, 89, 90, 91, 92, 93, 94, 95,177096, 97, 98, 99, 100, 101, 102, 103, 104, 105,1771106, 107, 108, 109, 110, 111, 112, 113, 114, 115,1772116, 117, 118, 119, 120, 121, 122, 123, 124, 125,1773126, 127, 128, 129, 130, 131, 132, 133, 134, 135,1774136, 137, 138, 139, 140, 141, 142, 143, 144, 145,1775146, 147, 148, 149, 150, 151, 152, 153, 154, 155,1776156, 157, 158, 159, 160, 161, 162, 163, 164, 165,1777166, 167, 168, 169, 170, 171, 172, 173, 174, 175,1778176, 177, 178, 179, 180, 181, 182, 183, 184, 185,1779186, 187, 188, 189, 190, 191, 192, 193, 194, 195,1780196, 197, 198, 199, 200, 201, 202, 203, 204, 205,1781206, 207, 208, 209, 210, 211, 212, 213, 214, 215,1782216, 217, 218, 219, 220, 221, 222, 223, 224, 225,1783226, 227, 228, 229, 230, 231, 232, 233, 234, 235,1784236, 237, 238, 239, 240, 241, 242, 243, 244, 245,1785246, 247, 248, 249, 250, 251, 252, 253, 254, 255,1786256, 257, 258, 259, 260, 261, 262, 263, 264, 265,1787266, 267, 268, 269, 270, 271, 272, 273, 274, 275,1788276, 277, 278, 279, 280, 281, 282, 283, 284, 285,1789286, 287, 288, 289, 290, 291, 292, 293, 294, 295,1790296, 297, 298, 299, 300, 301, 302, 303, 304, 305,1791306, 307, 308, 309, 310, 311, 312, 313, 314, 315,1792316, 317, 318, 319, 320, 321, 322, 323, 324, 325,1793326, 327, 328, 329, 330, 0, 0, 0, 0, 0,17940, 0, 0, 0, 0, 0, 0, 0, 0, 0,17950, 0, 0, 0, 0, 0, 0, 0, 0, 331,17960, 0, 0, 0, 0, 0, 0, 332, 0, 0,17970, 0, 0, 0, 0, 0, 0, 0, 0, 0,17980, 333, 334, 335, 336, 337, 0, 0, 0, 0,17990, 0, 0, 0, 338, 339, 340, 341, 342, 343,1800344, 0, 0, 0, 0, 0, 0, 0, 0, 0,18010, 0, 0, 0, 0, 0, 345, 346, 347, 348,1802349, 350, 351, 0, 0, 0, 0, 0, 0, 0,18030, 352, 0, 353, 354, 355, 356, 357, 358, 359,1804360, 361, 362, 363, 364, 365, 366, 367, 368, 369,1805370, 371, 372, 373, 374, 375, 376, 377, 378, 379,1806380, 381, 382, 383, 384, 385, 386, 1, 2, 3,18074, 5, 6, 7, 8, 9, 10, 11, 12, 13,180814, 15, 16, 17, 18, 19, 20, 21, 22, 23,180924, 25, 26, 27, 28, 29, 30, 31, 32, 33,181034, 35, 36, 37, 38, 39, 40, 41, 42, 43,181144, 45, 46, 47, 48, 49, 50, 51, 52, 53,181254, 55, 56, 57, 58, 59, 60, 61, 62, 63,181364, 65, 66, 67, 68, 69, 70, 71, 72, 73,181474, 75, 76, 77, 78, 79, 80, 81, 82, 83,181584, 85, 86, 87, 88, 89, 90, 91, 92, 93,181694, 95, 96, 97, 98, 99, 100, 101, 102, 103,1817104, 105, 106, 107, 108, 109, 110, 111, 112, 113,1818114, 115, 116, 117, 118, 119, 120, 121, 122, 123,1819124, 125, 126, 127, 128, 129, 130, 131, 132, 133,1820134, 135, 136, 137, 138, 139, 140, 141, 142, 143,1821144, 145, 146, 147, 148, 149, 150, 151, 152, 153,1822154, 155, 156, 157, 158, 159, 160, 161, 162, 163,1823164, 165, 166, 167, 168, 169, 170, 171, 172, 173,1824174, 175, 176, 177, 178, 179, 180, 181, 182, 183,1825184, 185, 186, 187, 188, 189, 190, 191, 192, 193,1826194, 195, 196, 197, 198, 199, 200, 201, 202, 203,1827204, 205, 206, 207, 208, 209, 210, 211, 212, 213,1828214, 215, 216, 217, 218, 219, 220, 221, 222, 223,1829224, 225, 226, 227, 228, 229, 230, 231, 232, 233,1830234, 235, 236, 237, 238, 239, 240, 241, 242, 243,1831244, 245, 246, 247, 248, 249, 250, 251, 252, 253,1832254, 255, 256, 257, 258, 259, 260, 261, 262, 263,1833264, 265, 266, 267, 268, 269, 270, 271, 272, 273,1834274, 275, 276, 277, 278, 279, 280, 281, 282, 283,1835284, 285, 286, 287, 288, 289, 290, 291, 292, 293,1836294, 295, 296, 297, 298, 299, 300, 301, 302, 303,1837304, 305, 306, 307, 308, 309, 310, 311, 312, 313,1838314, 315, 316, 317, 318, 319, 320, 321, 322, 323,1839324, 325, 326, 327, 328, 329, 330, 0, 0, 509,1840510, 0, 0, 0, 0, 0, 0, 0, 0, 0,18410, 0, 0, 0, 0, 0, 0, 0, 511, 512,18420, 331, 0, 602, 603, 0, 0, 0, 0, 604,1843513, 514, 515, 516, 0, 0, 0, 0, 0, 0,18440, 0, 0, 333, 334, 335, 336, 337, 0, 0,18450, 517, 518, 519, 520, 521, 338, 339, 340, 341,1846342, 343, 344, 605, 606, 607, 608, 0, 609, 610,1847611, 612, 613, 614, 615, 616, 617, 618, 345, 346,1848347, 348, 349, 350, 351, 522, 523, 524, 525, 526,1849527, 528, 529, 352, 619, 353, 354, 355, 356, 357,1850358, 359, 360, 361, 362, 363, 364, 365, 366, 367,1851368, 369, 370, 371, 372, 373, 374, 375, 376, 377,1852378, 379, 380, 381, 382, 383, 384, 385, 386, 1,18532, 3, 4, 5, 6, 7, 8, 9, 10, 11,185412, 13, 14, 15, 16, 17, 18, 19, 20, 21,185522, 23, 24, 25, 26, 27, 28, 29, 30, 31,185632, 33, 34, 35, 36, 37, 38, 39, 40, 41,185742, 43, 44, 45, 46, 47, 48, 49, 50, 51,185852, 53, 54, 55, 56, 57, 58, 59, 60, 61,185962, 63, 64, 65, 66, 67, 68, 69, 70, 71,186072, 73, 74, 75, 76, 77, 78, 79, 80, 81,186182, 83, 84, 85, 86, 87, 88, 89, 90, 91,186292, 93, 94, 95, 96, 97, 98, 99, 100, 101,1863102, 103, 104, 105, 106, 107, 108, 109, 110, 111,1864112, 113, 114, 115, 116, 117, 118, 119, 120, 121,1865122, 123, 124, 125, 126, 127, 128, 129, 130, 131,1866132, 133, 134, 135, 136, 137, 138, 139, 140, 141,1867142, 143, 144, 145, 146, 147, 148, 149, 150, 151,1868152, 153, 154, 155, 156, 157, 158, 159, 160, 161,1869162, 163, 164, 165, 166, 167, 168, 169, 170, 171,1870172, 173, 174, 175, 176, 177, 178, 179, 180, 181,1871182, 183, 184, 185, 186, 187, 188, 189, 190, 191,1872192, 193, 194, 195, 196, 197, 198, 199, 200, 201,1873202, 203, 204, 205, 206, 207, 208, 209, 210, 211,1874212, 213, 214, 215, 216, 217, 218, 219, 220, 221,1875222, 223, 224, 225, 226, 227, 228, 229, 230, 231,1876232, 233, 234, 235, 236, 237, 238, 239, 240, 241,1877242, 243, 244, 245, 246, 247, 248, 249, 250, 251,1878252, 253, 254, 255, 256, 257, 258, 259, 260, 261,1879262, 263, 264, 265, 266, 267, 268, 269, 270, 271,1880272, 273, 274, 275, 276, 277, 278, 279, 280, 281,1881282, 283, 284, 285, 286, 287, 288, 289, 290, 291,1882292, 293, 294, 295, 296, 297, 298, 299, 300, 301,1883302, 303, 304, 305, 306, 307, 308, 309, 310, 311,1884312, 313, 314, 315, 316, 317, 318, 319, 320, 321,1885322, 323, 324, 325, 326, 327, 328, 329, 330, 0,18860, 509, 510, 0, 0, 0, 0, 0, 0, 0,18870, 0, 0, 0, 0, 0, 0, 0, 0, 0,1888511, 512, 0, 331, 0, 602, 784, 0, 0, 0,18890, 604, 513, 514, 515, 516, 0, 0, 0, 0,18900, 0, 0, 0, 0, 333, 334, 335, 336, 337,18910, 0, 0, 517, 518, 519, 520, 521, 338, 339,1892340, 341, 342, 343, 344, 605, 606, 607, 608, 0,1893609, 610, 611, 612, 613, 614, 615, 616, 617, 618,1894345, 346, 347, 348, 349, 350, 351, 522, 523, 524,1895525, 526, 527, 528, 529, 352, 619, 353, 354, 355,1896356, 357, 358, 359, 360, 361, 362, 363, 364, 365,1897366, 367, 368, 369, 370, 371, 372, 373, 374, 375,1898376, 377, 378, 379, 380, 381, 382, 383, 384, 385,1899386, 1, 2, 3, 4, 5, 6, 7, 8, 9,190010, 11, 12, 13, 14, 15, 16, 17, 18, 19,190120, 21, 22, 23, 24, 25, 26, 27, 28, 29,190230, 31, 32, 33, 34, 35, 36, 37, 38, 39,190340, 41, 42, 43, 44, 45, 46, 47, 48, 49,190450, 51, 52, 53, 54, 55, 56, 57, 58, 59,190560, 61, 62, 63, 64, 65, 66, 67, 68, 69,190670, 71, 72, 73, 74, 75, 76, 77, 78, 79,190780, 81, 82, 83, 84, 85, 86, 87, 88, 89,190890, 91, 92, 93, 94, 95, 96, 97, 98, 99,1909100, 101, 102, 103, 104, 105, 106, 107, 108, 109,1910110, 111, 112, 113, 114, 115, 116, 117, 118, 119,1911120, 121, 122, 123, 124, 125, 126, 127, 128, 129,1912130, 131, 132, 133, 134, 135, 136, 137, 138, 139,1913140, 141, 142, 143, 144, 145, 146, 147, 148, 149,1914150, 151, 152, 153, 154, 155, 156, 157, 158, 159,1915160, 161, 162, 163, 164, 165, 166, 167, 168, 169,1916170, 171, 172, 173, 174, 175, 176, 177, 178, 179,1917180, 181, 182, 183, 184, 185, 186, 187, 188, 189,1918190, 191, 192, 193, 194, 195, 196, 197, 198, 199,1919200, 201, 202, 203, 204, 205, 206, 207, 208, 209,1920210, 211, 212, 213, 214, 215, 216, 217, 218, 219,1921220, 221, 222, 223, 224, 225, 226, 227, 228, 229,1922230, 231, 232, 233, 234, 235, 236, 237, 238, 239,1923240, 241, 242, 243, 244, 245, 246, 247, 248, 249,1924250, 251, 252, 253, 254, 255, 256, 257, 258, 259,1925260, 261, 262, 263, 264, 265, 266, 267, 268, 269,1926270, 271, 272, 273, 274, 275, 276, 277, 278, 279,1927280, 281, 282, 283, 284, 285, 286, 287, 288, 289,1928290, 291, 292, 293, 294, 295, 296, 297, 298, 299,1929300, 301, 302, 303, 304, 305, 306, 307, 308, 309,1930310, 311, 312, 313, 314, 315, 316, 317, 318, 319,1931320, 321, 322, 323, 324, 325, 326, 327, 328, 329,1932330, 0, 0, 509, 510, 0, 0, 0, 0, 0,19330, 0, 0, 0, 0, 0, 0, 0, 0, 0,19340, 0, 511, 512, 0, 331, 0, 602, 0, 0,19350, 0, 0, 604, 513, 514, 515, 516, 0, 0,19360, 0, 0, 0, 0, 0, 0, 333, 334, 335,1937336, 337, 0, 0, 0, 517, 518, 519, 520, 521,1938338, 339, 340, 341, 342, 343, 344, 605, 606, 607,1939608, 0, 609, 610, 611, 612, 613, 614, 615, 616,1940617, 618, 345, 346, 347, 348, 349, 350, 351, 522,1941523, 524, 525, 526, 527, 528, 529, 352, 619, 353,1942354, 355, 356, 357, 358, 359, 360, 361, 362, 363,1943364, 365, 366, 367, 368, 369, 370, 371, 372, 373,1944374, 375, 376, 377, 378, 379, 380, 381, 382, 383,1945384, 385, 386, 1, 2, 3, 4, 5, 6, 7,19468, 9, 10, 11, 12, 13, 14, 15, 16, 17,194718, 19, 20, 21, 22, 23, 24, 25, 26, 27,194828, 29, 30, 31, 32, 33, 34, 35, 36, 37,194938, 39, 40, 41, 42, 43, 44, 45, 46, 47,195048, 49, 50, 51, 52, 53, 54, 55, 56, 57,195158, 59, 60, 61, 62, 63, 64, 65, 66, 67,195268, 69, 70, 71, 72, 73, 74, 75, 76, 77,195378, 79, 80, 81, 82, 83, 84, 85, 86, 87,195488, 89, 90, 91, 92, 93, 94, 95, 96, 97,195598, 99, 100, 101, 102, 103, 104, 105, 106, 107,1956108, 109, 110, 111, 112, 113, 114, 115, 116, 117,1957118, 119, 120, 121, 122, 123, 124, 125, 126, 127,1958128, 129, 130, 131, 132, 133, 134, 135, 136, 137,1959138, 139, 140, 141, 142, 143, 144, 145, 146, 147,1960148, 149, 150, 151, 152, 153, 154, 155, 156, 157,1961158, 159, 160, 161, 162, 163, 164, 165, 166, 167,1962168, 169, 170, 171, 172, 173, 174, 175, 176, 177,1963178, 179, 180, 181, 182, 183, 184, 185, 186, 187,1964188, 189, 190, 191, 192, 193, 194, 195, 196, 197,1965198, 199, 200, 201, 202, 203, 204, 205, 206, 207,1966208, 209, 210, 211, 212, 213, 214, 215, 216, 217,1967218, 219, 220, 221, 222, 223, 224, 225, 226, 227,1968228, 229, 230, 231, 232, 233, 234, 235, 236, 237,1969238, 239, 240, 241, 242, 243, 244, 245, 246, 247,1970248, 249, 250, 251, 252, 253, 254, 255, 256, 257,1971258, 259, 260, 261, 262, 263, 264, 265, 266, 267,1972268, 269, 270, 271, 272, 273, 274, 275, 276, 277,1973278, 279, 280, 281, 282, 283, 284, 285, 286, 287,1974288, 289, 290, 291, 292, 293, 294, 295, 296, 297,1975298, 299, 300, 301, 302, 303, 304, 305, 306, 307,1976308, 309, 310, 311, 312, 313, 314, 315, 316, 317,1977318, 319, 320, 321, 322, 323, 324, 325, 326, 327,1978328, 329, 330, 0, 0, 509, 510, 0, 0, 0,19790, 0, 0, 0, 0, 0, 0, 0, 0, 0,19800, 0, 0, 0, 511, 512, 0, 331, 0, 494,19810, 0, 0, 0, 0, 604, 513, 514, 515, 516,19820, 0, 0, 0, 0, 0, 0, 0, 0, 333,1983334, 335, 336, 337, 0, 0, 0, 517, 518, 519,1984520, 521, 338, 339, 340, 341, 342, 343, 344, 605,1985606, 607, 608, 0, 609, 610, 611, 612, 613, 614,1986615, 616, 617, 618, 345, 346, 347, 348, 349, 350,1987351, 522, 523, 524, 525, 526, 527, 528, 529, 352,1988619, 353, 354, 355, 356, 357, 358, 359, 360, 361,1989362, 363, 364, 365, 366, 367, 368, 369, 370, 371,1990372, 373, 374, 375, 376, 377, 378, 379, 380, 381,1991382, 383, 384, 385, 386, 1, 2, 3, 4, 5,19926, 7, 8, 9, 10, 11, 12, 13, 14, 15,199316, 17, 18, 19, 20, 21, 22, 23, 24, 25,199426, 27, 28, 29, 30, 31, 32, 33, 34, 35,199536, 37, 38, 39, 40, 41, 42, 43, 44, 45,199646, 47, 48, 49, 50, 51, 52, 53, 54, 55,199756, 57, 58, 59, 60, 61, 62, 63, 64, 65,199866, 67, 68, 69, 70, 71, 72, 73, 74, 75,199976, 77, 78, 79, 80, 81, 82, 83, 84, 85,200086, 87, 88, 89, 90, 91, 92, 93, 94, 95,200196, 97, 98, 99, 100, 101, 102, 103, 104, 105,2002106, 107, 108, 109, 110, 111, 112, 113, 114, 115,2003116, 117, 118, 119, 120, 121, 122, 123, 124, 125,2004126, 127, 128, 129, 130, 131, 132, 133, 134, 135,2005136, 137, 138, 139, 140, 141, 142, 143, 144, 145,2006146, 147, 148, 149, 150, 151, 152, 153, 154, 155,2007156, 157, 158, 159, 160, 161, 162, 163, 164, 165,2008166, 167, 168, 169, 170, 171, 172, 173, 174, 175,2009176, 177, 178, 179, 180, 181, 182, 183, 184, 185,2010186, 187, 188, 189, 190, 191, 192, 193, 194, 195,2011196, 197, 198, 199, 200, 201, 202, 203, 204, 205,2012206, 207, 208, 209, 210, 211, 212, 213, 214, 215,2013216, 217, 218, 219, 220, 221, 222, 223, 224, 225,2014226, 227, 228, 229, 230, 231, 232, 233, 234, 235,2015236, 237, 238, 239, 240, 241, 242, 243, 244, 245,2016246, 247, 248, 249, 250, 251, 252, 253, 254, 255,2017256, 257, 258, 259, 260, 261, 262, 263, 264, 265,2018266, 267, 268, 269, 270, 271, 272, 273, 274, 275,2019276, 277, 278, 279, 280, 281, 282, 283, 284, 285,2020286, 287, 288, 289, 290, 291, 292, 293, 294, 295,2021296, 297, 298, 299, 300, 301, 302, 303, 304, 305,2022306, 307, 308, 309, 310, 311, 312, 313, 314, 315,2023316, 317, 318, 319, 320, 321, 322, 323, 324, 325,2024326, 327, 328, 329, 330, 0, 0, 509, 510, 0,20250, 0, 0, 0, 0, 0, 0, 0, 0, 0,20260, 0, 0, 0, 0, 0, 511, 512, 0, 331,20270, 0, 0, 0, 0, 0, 0, 604, 513, 514,2028515, 516, 0, 0, 0, 0, 0, 0, 0, 0,20290, 333, 334, 335, 336, 337, 0, 0, 0, 517,2030518, 519, 520, 521, 338, 339, 340, 341, 342, 343,2031344, 605, 606, 607, 608, 0, 609, 610, 611, 612,2032613, 614, 615, 616, 617, 618, 345, 346, 347, 348,2033349, 350, 351, 522, 523, 524, 525, 526, 527, 528,2034529, 352, 619, 353, 354, 355, 356, 357, 358, 359,2035360, 361, 362, 363, 364, 365, 366, 367, 368, 369,2036370, 371, 372, 373, 374, 375, 376, 377, 378, 379,2037380, 381, 382, 383, 384, 385, 386, 1, 2, 3,20384, 5, 6, 7, 8, 9, 10, 11, 12, 13,203914, 15, 16, 17, 18, 19, 20, 21, 22, 23,204024, 25, 26, 27, 28, 29, 30, 31, 32, 33,204134, 35, 36, 37, 38, 39, 40, 41, 42, 43,204244, 45, 46, 47, 48, 49, 50, 51, 52, 53,204354, 55, 56, 57, 58, 59, 60, 61, 62, 63,204464, 65, 66, 67, 68, 69, 70, 71, 72, 73,204574, 75, 76, 77, 78, 79, 80, 81, 82, 83,204684, 85, 86, 87, 88, 89, 90, 91, 92, 93,204794, 95, 96, 97, 98, 99, 100, 101, 102, 103,2048104, 105, 106, 107, 108, 109, 110, 111, 112, 113,2049114, 115, 116, 117, 118, 119, 120, 121, 122, 123,2050124, 125, 126, 127, 128, 129, 130, 131, 132, 133,2051134, 135, 136, 137, 138, 139, 140, 141, 142, 143,2052144, 145, 146, 147, 148, 149, 150, 151, 152, 153,2053154, 155, 156, 157, 158, 159, 160, 161, 162, 163,2054164, 165, 166, 167, 168, 169, 170, 171, 172, 173,2055174, 175, 176, 177, 178, 179, 180, 181, 182, 183,2056184, 185, 186, 187, 188, 189, 190, 191, 192, 193,2057194, 195, 196, 197, 198, 199, 200, 201, 202, 203,2058204, 205, 206, 207, 208, 209, 210, 211, 212, 213,2059214, 215, 216, 217, 218, 219, 220, 221, 222, 223,2060224, 225, 226, 227, 228, 229, 230, 231, 232, 233,2061234, 235, 236, 237, 238, 239, 240, 241, 242, 243,2062244, 245, 246, 247, 248, 249, 250, 251, 252, 253,2063254, 255, 256, 257, 258, 259, 260, 261, 262, 263,2064264, 265, 266, 267, 268, 269, 270, 271, 272, 273,2065274, 275, 276, 277, 278, 279, 280, 281, 282, 283,2066284, 285, 286, 287, 288, 289, 290, 291, 292, 293,2067294, 295, 296, 297, 298, 299, 300, 301, 302, 303,2068304, 305, 306, 307, 308, 309, 310, 311, 312, 313,2069314, 315, 316, 317, 318, 319, 320, 321, 322, 323,2070324, 325, 326, 327, 328, 329, 330, 0, 0, 509,2071510, 0, 0, 0, 0, 0, 0, 0, 0, 0,20720, 0, 0, 0, 0, 0, 0, 0, 511, 512,20730, 331, 0, 0, 0, 0, 0, 0, 0, 604,2074513, 514, 515, 516, 0, 0, 0, 0, 0, 0,20750, 0, 0, 333, 334, 335, 336, 337, 0, 0,20760, 517, 518, 519, 520, 521, 338, 339, 340, 341,2077342, 343, 344, 0, 0, 0, 0, 0, 0, 0,20780, 0, 0, 0, 0, 0, 0, 0, 345, 346,2079347, 348, 349, 350, 351, 522, 523, 524, 525, 526,2080527, 528, 529, 352, 0, 353, 354, 355, 356, 357,2081358, 359, 360, 361, 362, 363, 364, 365, 366, 367,2082368, 369, 370, 371, 372, 373, 374, 375, 376, 377,2083378, 379, 380, 381, 382, 383, 384, 385, 386, 1,20842, 3, 4, 5, 6, 7, 8, 9, 10, 11,208512, 13, 14, 15, 16, 17, 18, 19, 20, 21,208622, 23, 24, 25, 26, 27, 28, 29, 30, 31,208732, 33, 34, 35, 36, 37, 38, 39, 40, 41,208842, 43, 44, 45, 46, 47, 48, 49, 50, 51,208952, 53, 54, 55, 56, 57, 58, 59, 60, 61,209062, 63, 64, 65, 66, 67, 68, 69, 70, 71,209172, 73, 74, 75, 76, 77, 78, 79, 80, 81,209282, 83, 84, 85, 86, 87, 88, 89, 90, 91,209392, 93, 94, 95, 96, 97, 98, 99, 100, 101,2094102, 103, 104, 105, 106, 107, 108, 109, 110, 111,2095112, 113, 114, 115, 116, 117, 118, 119, 120, 121,2096122, 123, 124, 125, 126, 127, 128, 129, 130, 131,2097132, 133, 134, 135, 136, 137, 138, 139, 140, 141,2098142, 143, 144, 145, 146, 147, 148, 149, 150, 151,2099152, 153, 154, 155, 156, 157, 158, 159, 160, 161,2100162, 163, 164, 165, 166, 167, 168, 169, 170, 171,2101172, 173, 174, 175, 176, 177, 178, 179, 180, 181,2102182, 183, 184, 185, 186, 187, 188, 189, 190, 191,2103192, 193, 194, 195, 196, 197, 198, 199, 200, 201,2104202, 203, 204, 205, 206, 207, 208, 209, 210, 211,2105212, 213, 214, 215, 216, 217, 218, 219, 220, 221,2106222, 223, 224, 225, 226, 227, 228, 229, 230, 231,2107232, 233, 234, 235, 236, 237, 238, 239, 240, 241,2108242, 243, 244, 245, 246, 247, 248, 249, 250, 251,2109252, 253, 254, 255, 256, 257, 258, 259, 260, 261,2110262, 263, 264, 265, 266, 267, 268, 269, 270, 271,2111272, 273, 274, 275, 276, 277, 278, 279, 280, 281,2112282, 283, 284, 285, 286, 287, 288, 289, 290, 291,2113292, 293, 294, 295, 296, 297, 298, 299, 300, 301,2114302, 303, 304, 305, 306, 307, 308, 309, 310, 311,2115312, 313, 314, 315, 316, 317, 0, 0, 0, 321,2116322, 323, 324, 325, 326, 327, 328, 329, 330, 0,21170, 509, 510, 0, 0, 0, 0, 0, 0, 0,21180, 0, 0, 0, 0, 0, 0, 0, 0, 0,2119511, 512, 0, 0, 0, 0, 0, 0, 0, 0,21200, 0, 513, 514, 515, 516, 0, 0, 0, 0,21210, 0, 0, 0, 0, 333, 334, 335, 336, 0,21220, 0, 0, 517, 518, 519, 520, 521, 338, 339,2123340, 341, 342, 343, 344, 0, 0, 0, 0, 0,21240, 0, 0, 0, 0, 0, 0, 0, 0, 0,2125345, 346, 347, 348, 349, 350, 351, 522, 523, 524,2126525, 526, 527, 528, 529, 352, 0, 353, 354, 355,2127356, 357, 358, 359, 360, 361, 362, 363, 364, 365,2128366, 367, 368, 369, 370, 371, 372, 373, 374, 375,2129376, 377, 378, 379, 380, 381, 382, 383, 384, 385,2130386, 1, 2, 3, 4, 5, 6, 7, 8, 9,213110, 11, 12, 13, 14, 15, 16, 17, 18, 19,213220, 21, 22, 23, 24, 25, 26, 27, 28, 29,213330, 31, 32, 33, 34, 35, 36, 37, 38, 39,213440, 41, 42, 43, 44, 45, 46, 47, 48, 49,213550, 51, 52, 53, 54, 55, 56, 57, 58, 59,213660, 61, 62, 63, 64, 65, 66, 67, 68, 69,213770, 71, 72, 73, 74, 75, 76, 77, 78, 79,213880, 81, 82, 83, 84, 85, 86, 87, 88, 89,213990, 91, 92, 93, 94, 95, 96, 97, 98, 99,2140100, 101, 102, 103, 104, 105, 106, 107, 108, 109,2141110, 111, 112, 113, 114, 115, 116, 117, 118, 119,2142120, 121, 122, 123, 124, 125, 126, 127, 128, 129,2143130, 131, 132, 133, 134, 135, 136, 137, 138, 139,2144140, 141, 142, 143, 144, 145, 146, 147, 148, 149,2145150, 151, 152, 153, 154, 155, 156, 157, 158, 159,2146160, 161, 162, 163, 164, 165, 166, 167, 168, 169,2147170, 171, 172, 173, 174, 175, 176, 177, 178, 179,2148180, 181, 182, 183, 184, 185, 186, 187, 188, 189,2149190, 191, 192, 193, 194, 195, 196, 197, 198, 199,2150200, 201, 202, 203, 204, 205, 206, 207, 208, 209,2151210, 211, 212, 213, 214, 215, 216, 217, 218, 219,2152220, 221, 222, 223, 224, 225, 226, 227, 228, 229,2153230, 231, 232, 233, 234, 235, 236, 237, 238, 239,2154240, 241, 242, 243, 244, 245, 246, 247, 248, 249,2155250, 251, 252, 253, 254, 255, 256, 257, 258, 259,2156260, 261, 262, 263, 264, 265, 266, 267, 268, 269,2157270, 271, 272, 273, 274, 275, 276, 277, 278, 279,2158280, 281, 282, 283, 284, 285, 286, 287, 288, 289,2159290, 291, 292, 293, 294, 295, 296, 297, 298, 299,2160300, 301, 302, 303, 304, 305, 306, 307, 308, 309,2161310, 311, 312, 313, 314, 315, 316, 317, 318, 319,2162320, 321, 322, 323, 324, 325, 326, 327, 328, 329,2163330, 0, 0, 0, 0, 0, 0, 0, 0, 0,21640, 0, 0, 0, 0, 0, 0, 0, 0, 0,21650, 0, 0, 0, 0, 331, 0, 0, 0, 0,21660, 0, 0, 332, 0, 0, 0, 0, 0, 0,21670, 0, 0, 0, 0, 0, 0, 333, 334, 335,2168336, 337, 0, 0, 0, 0, 0, 0, 0, 0,2169338, 339, 340, 341, 342, 343, 344, 0, 0, 0,21700, 0, 0, 0, 0, 0, 0, 0, 0, 0,21710, 0, 345, 346, 347, 348, 349, 350, 351, 0,21720, 0, 0, 0, 0, 0, 0, 352, 0, 353,2173354, 355, 356, 357, 358, 359, 360, 361, 362, 363,2174364, 365, 366, 367, 368, 369, 370, 371, 372, 373,2175374, 375, 376, 377, 378, 379, 380, 381, 382, 383,2176384, 385, 386, 1, 2, 3, 4, 5, 6, 7,21778, 9, 10, 11, 12, 13, 14, 15, 16, 17,217818, 19, 20, 21, 22, 23, 24, 25, 26, 27,217928, 29, 30, 31, 32, 33, 34, 35, 36, 37,218038, 39, 40, 41, 42, 43, 44, 45, 46, 47,218148, 49, 50, 51, 52, 53, 54, 55, 56, 57,218258, 59, 60, 61, 62, 63, 64, 65, 66, 67,218368, 69, 70, 71, 72, 73, 74, 75, 76, 77,218478, 79, 80, 81, 82, 83, 84, 85, 86, 87,218588, 89, 90, 91, 92, 93, 94, 95, 96, 97,218698, 99, 100, 101, 102, 103, 104, 105, 106, 107,2187108, 109, 110, 111, 112, 113, 114, 115, 116, 117,2188118, 119, 120, 121, 122, 123, 124, 125, 126, 127,2189128, 129, 130, 131, 132, 133, 134, 135, 136, 137,2190138, 139, 140, 141, 142, 143, 144, 145, 146, 147,2191148, 149, 150, 151, 152, 153, 154, 155, 156, 157,2192158, 159, 160, 161, 162, 163, 164, 165, 166, 167,2193168, 169, 170, 171, 172, 173, 174, 175, 176, 177,2194178, 179, 180, 181, 182, 183, 184, 185, 186, 187,2195188, 189, 190, 191, 192, 193, 194, 195, 196, 197,2196198, 199, 200, 201, 202, 203, 204, 205, 206, 207,2197208, 209, 210, 211, 212, 213, 214, 215, 216, 217,2198218, 219, 220, 221, 222, 223, 224, 225, 226, 227,2199228, 229, 230, 231, 232, 233, 234, 235, 236, 237,2200238, 239, 240, 241, 242, 243, 244, 245, 246, 247,2201248, 249, 250, 251, 252, 253, 254, 255, 256, 257,2202258, 259, 260, 261, 262, 263, 264, 265, 266, 267,2203268, 269, 270, 271, 272, 273, 274, 275, 276, 277,2204278, 279, 280, 281, 282, 283, 284, 285, 286, 287,2205288, 289, 290, 291, 292, 293, 294, 295, 296, 297,2206298, 299, 300, 301, 302, 303, 304, 305, 306, 307,2207308, 309, 310, 311, 312, 313, 314, 315, 316, 317,22080, 0, 0, 321, 322, 323, 324, 325, 326, 327,2209328, 329, 330, 0, 0, 0, 0, 0, 0, 0,22100, 0, 0, 0, 0, 0, 0, 0, 0, 0,22110, 0, 0, 0, 0, 0, 0, 0, 0, 0,22120, 0, 0, 0, 0, 0, 0, 0, 0, 0,22130, 0, 0, 0, 0, 0, 0, 0, 0, 333,2214334, 335, 336, 0, 0, 0, 0, 0, 0, 0,22150, 0, 338, 339, 340, 341, 342, 343, 344, 605,22160, 0, 608, 0, 609, 610, 0, 0, 613, 0,22170, 0, 0, 0, 345, 346, 347, 348, 349, 350,2218351, 0, 0, 0, 0, 0, 0, 0, 0, 352,22190, 353, 354, 355, 356, 357, 358, 359, 360, 361,2220362, 363, 364, 365, 366, 367, 368, 369, 370, 371,2221372, 373, 374, 375, 376, 377, 378, 379, 380, 381,2222382, 383, 384, 385, 386, 1, 2, 3, 4, 5,22236, 7, 8, 9, 10, 11, 12, 13, 14, 15,222416, 17, 18, 19, 20, 21, 22, 23, 24, 25,222526, 27, 28, 29, 30, 31, 32, 33, 34, 35,222636, 37, 38, 39, 40, 41, 42, 43, 44, 45,222746, 47, 48, 49, 50, 51, 52, 53, 54, 55,222856, 57, 58, 59, 60, 61, 62, 63, 64, 65,222966, 67, 68, 69, 70, 71, 72, 73, 74, 75,223076, 77, 78, 79, 80, 81, 82, 83, 84, 85,223186, 87, 88, 89, 90, 91, 92, 93, 94, 95,223296, 97, 98, 99, 100, 101, 102, 103, 104, 105,2233106, 107, 108, 109, 110, 111, 112, 113, 114, 115,2234116, 117, 118, 119, 120, 121, 122, 123, 124, 125,2235126, 127, 128, 129, 130, 131, 132, 133, 134, 135,2236136, 137, 138, 139, 140, 141, 142, 143, 144, 145,2237146, 147, 148, 149, 150, 151, 152, 153, 154, 155,2238156, 157, 158, 159, 160, 161, 162, 163, 164, 165,2239166, 167, 168, 169, 170, 171, 172, 173, 174, 175,2240176, 177, 178, 179, 180, 181, 182, 183, 184, 185,2241186, 187, 188, 189, 190, 191, 192, 193, 194, 195,2242196, 197, 198, 199, 200, 201, 202, 203, 204, 205,2243206, 207, 208, 209, 210, 211, 212, 213, 214, 215,2244216, 217, 218, 219, 220, 221, 222, 223, 224, 225,2245226, 227, 228, 229, 230, 231, 232, 233, 234, 235,2246236, 237, 238, 239, 240, 241, 242, 243, 244, 245,2247246, 247, 248, 249, 250, 251, 252, 253, 254, 255,2248256, 257, 258, 259, 260, 261, 262, 263, 264, 265,2249266, 267, 268, 269, 270, 271, 272, 273, 274, 275,2250276, 277, 278, 279, 280, 281, 282, 283, 284, 285,2251286, 287, 288, 289, 290, 291, 292, 293, 294, 295,2252296, 297, 298, 299, 300, 301, 302, 303, 304, 305,2253306, 307, 308, 309, 310, 311, 312, 313, 314, 315,2254316, 317, 0, 0, 0, 321, 322, 323, 324, 325,2255326, 327, 328, 329, 330, 0, 0, 0, 0, 0,22560, 0, 0, 0, 0, 0, 0, 0, 0, 0,22570, 0, 0, 0, 0, 0, 0, 0, 0, 0,22580, 0, 0, 0, 0, 0, 0, 445, 0, 0,22590, 0, 0, 0, 0, 0, 0, 0, 0, 0,22600, 333, 334, 335, 336, 0, 0, 0, 0, 0,22610, 0, 0, 446, 338, 339, 340, 341, 342, 343,2262344, 0, 0, 0, 0, 0, 0, 0, 0, 0,22630, 0, 0, 0, 0, 0, 345, 346, 347, 348,2264349, 350, 351, 0, 0, 0, 0, 0, 0, 0,22650, 352, 0, 353, 354, 355, 356, 357, 358, 359,2266360, 361, 362, 363, 364, 365, 366, 367, 368, 369,2267370, 371, 372, 373, 374, 375, 376, 377, 378, 379,2268380, 381, 382, 383, 384, 385, 386, 1, 2, 3,22694, 5, 6, 7, 8, 9, 10, 11, 12, 13,227014, 15, 16, 17, 18, 19, 20, 21, 22, 23,227124, 25, 26, 27, 28, 29, 30, 31, 32, 33,227234, 35, 36, 37, 38, 39, 40, 41, 42, 43,227344, 45, 46, 47, 48, 49, 50, 51, 52, 53,227454, 55, 56, 57, 58, 59, 60, 61, 62, 63,227564, 65, 66, 67, 68, 69, 70, 71, 72, 73,227674, 75, 76, 77, 78, 79, 80, 81, 82, 83,227784, 85, 86, 87, 88, 89, 90, 91, 92, 93,227894, 95, 96, 97, 98, 99, 100, 101, 102, 103,2279104, 105, 106, 107, 108, 109, 110, 111, 112, 113,2280114, 115, 116, 117, 118, 119, 120, 121, 122, 123,2281124, 125, 126, 127, 128, 129, 130, 131, 132, 133,2282134, 135, 136, 137, 138, 139, 140, 141, 142, 143,2283144, 145, 146, 147, 148, 149, 150, 151, 152, 153,2284154, 155, 156, 157, 158, 159, 160, 161, 162, 163,2285164, 165, 166, 167, 168, 169, 170, 171, 172, 173,2286174, 175, 176, 177, 178, 179, 180, 181, 182, 183,2287184, 185, 186, 187, 188, 189, 190, 191, 192, 193,2288194, 195, 196, 197, 198, 199, 200, 201, 202, 203,2289204, 205, 206, 207, 208, 209, 210, 211, 212, 213,2290214, 215, 216, 217, 218, 219, 220, 221, 222, 223,2291224, 225, 226, 227, 228, 229, 230, 231, 232, 233,2292234, 235, 236, 237, 238, 239, 240, 241, 242, 243,2293244, 245, 246, 247, 248, 249, 250, 251, 252, 253,2294254, 255, 256, 257, 258, 259, 260, 261, 262, 263,2295264, 265, 266, 267, 268, 269, 270, 271, 272, 273,2296274, 275, 276, 277, 278, 279, 280, 281, 282, 283,2297284, 285, 286, 287, 288, 289, 290, 291, 292, 293,2298294, 295, 296, 297, 298, 299, 300, 301, 302, 303,2299304, 305, 306, 307, 308, 309, 310, 311, 312, 313,2300314, 315, 316, 317, 0, 0, 0, 321, 322, 323,2301324, 325, 326, 327, 328, 329, 330, 0, 0, 0,23020, 0, 0, 0, 0, 0, 0, 0, 0, 0,23030, 0, 0, 0, 0, 0, 0, 0, 0, 0,23040, 331, 0, 0, 0, 0, 0, 0, 0, 0,23050, 0, 0, 0, 0, 0, 0, 0, 0, 0,23060, 0, 0, 333, 334, 335, 336, 0, 0, 0,23070, 0, 0, 0, 0, 0, 338, 339, 340, 341,2308342, 343, 344, 0, 0, 0, 0, 0, 0, 0,23090, 0, 0, 0, 0, 0, 0, 0, 345, 346,2310347, 348, 349, 350, 351, 0, 0, 0, 0, 0,23110, 0, 0, 352, 0, 353, 354, 355, 356, 357,2312358, 359, 360, 361, 362, 363, 364, 365, 366, 367,2313368, 369, 370, 371, 372, 373, 374, 375, 376, 377,2314378, 379, 380, 381, 382, 383, 384, 385, 386, 1,23152, 3, 4, 5, 6, 7, 8, 9, 10, 11,231612, 13, 14, 15, 16, 17, 18, 19, 20, 21,231722, 23, 24, 25, 26, 27, 28, 29, 30, 31,231832, 33, 34, 35, 36, 37, 38, 39, 40, 41,231942, 43, 44, 45, 46, 47, 48, 49, 50, 51,232052, 53, 54, 55, 56, 57, 58, 59, 60, 61,232162, 63, 64, 65, 66, 67, 68, 69, 70, 71,232272, 73, 74, 75, 76, 77, 78, 79, 80, 81,232382, 83, 84, 85, 86, 87, 88, 89, 90, 91,232492, 93, 94, 95, 96, 97, 98, 99, 100, 101,2325102, 103, 104, 105, 106, 107, 108, 109, 110, 111,2326112, 113, 114, 115, 116, 117, 118, 119, 120, 121,2327122, 123, 124, 125, 126, 127, 128, 129, 130, 131,2328132, 133, 134, 135, 136, 137, 138, 139, 140, 141,2329142, 143, 144, 145, 146, 147, 148, 149, 150, 151,2330152, 153, 154, 155, 156, 157, 158, 159, 160, 161,2331162, 163, 164, 165, 166, 167, 168, 169, 170, 171,2332172, 173, 174, 175, 176, 177, 178, 179, 180, 181,2333182, 183, 184, 185, 186, 187, 188, 189, 190, 191,2334192, 193, 194, 195, 196, 197, 198, 199, 200, 201,2335202, 203, 204, 205, 206, 207, 208, 209, 210, 211,2336212, 213, 214, 215, 216, 217, 218, 219, 220, 221,2337222, 223, 224, 225, 226, 227, 228, 229, 230, 231,2338232, 233, 234, 235, 236, 237, 238, 239, 240, 241,2339242, 243, 244, 245, 246, 247, 248, 249, 250, 251,2340252, 253, 254, 255, 256, 257, 258, 259, 260, 261,2341262, 263, 264, 265, 266, 267, 268, 269, 270, 271,2342272, 273, 274, 275, 276, 277, 278, 279, 280, 281,2343282, 283, 284, 285, 286, 287, 288, 289, 290, 291,2344292, 293, 294, 295, 296, 297, 298, 299, 300, 301,2345302, 303, 304, 305, 306, 307, 308, 309, 310, 311,2346312, 313, 314, 315, 316, 317, 0, 0, 0, 321,2347322, 323, 324, 325, 326, 327, 328, 329, 330, 0,23480, 0, 0, 0, 0, 0, 0, 0, 0, 0,23490, 0, 0, 0, 0, 0, 0, 0, 0, 0,23500, 0, 0, 0, 0, 0, 723, 0, 0, 0,23510, 0, 0, 0, 0, 0, 0, 0, 0, 0,23520, 0, 0, 0, 0, 333, 334, 335, 336, 0,23530, 0, 0, 0, 0, 0, 0, 0, 338, 339,2354340, 341, 342, 343, 344, 0, 0, 0, 0, 0,23550, 0, 0, 0, 0, 0, 0, 0, 0, 0,2356345, 346, 347, 348, 349, 350, 351, 0, 0, 0,23570, 0, 0, 0, 0, 352, 0, 353, 354, 355,2358356, 357, 358, 359, 360, 361, 362, 363, 364, 365,2359366, 367, 368, 369, 370, 371, 372, 373, 374, 375,2360376, 377, 378, 379, 380, 381, 382, 383, 384, 385,2361386, 1, 2, 3, 4, 5, 6, 7, 8, 9,236210, 11, 12, 13, 14, 15, 16, 17, 18, 19,236320, 21, 22, 23, 24, 25, 26, 27, 28, 29,236430, 31, 32, 33, 34, 35, 36, 37, 38, 39,236540, 41, 42, 43, 44, 45, 46, 47, 48, 49,236650, 51, 52, 53, 54, 55, 56, 57, 58, 59,236760, 61, 62, 63, 64, 65, 66, 67, 68, 69,236870, 71, 72, 73, 74, 75, 76, 77, 78, 79,236980, 81, 82, 83, 84, 85, 86, 87, 88, 89,237090, 91, 92, 93, 94, 95, 96, 97, 98, 99,2371100, 101, 102, 103, 104, 105, 106, 107, 108, 109,2372110, 111, 112, 113, 114, 115, 116, 117, 118, 119,2373120, 121, 122, 123, 124, 125, 126, 127, 128, 129,2374130, 131, 132, 133, 134, 135, 136, 137, 138, 139,2375140, 141, 142, 143, 144, 145, 146, 147, 148, 149,2376150, 151, 152, 153, 154, 155, 156, 157, 158, 159,2377160, 161, 162, 163, 164, 165, 166, 167, 168, 169,2378170, 171, 172, 173, 174, 175, 176, 177, 178, 179,2379180, 181, 182, 183, 184, 185, 186, 187, 188, 189,2380190, 191, 192, 193, 194, 195, 196, 197, 198, 199,2381200, 201, 202, 203, 204, 205, 206, 207, 208, 209,2382210, 211, 212, 213, 214, 215, 216, 217, 218, 219,2383220, 221, 222, 223, 224, 225, 226, 227, 228, 229,2384230, 231, 232, 233, 234, 235, 236, 237, 238, 239,2385240, 241, 242, 243, 244, 245, 246, 247, 248, 249,2386250, 251, 252, 253, 254, 255, 256, 257, 258, 259,2387260, 261, 262, 263, 264, 265, 266, 267, 268, 269,2388270, 271, 272, 273, 274, 275, 276, 277, 278, 279,2389280, 281, 282, 283, 284, 285, 286, 287, 288, 289,2390290, 291, 292, 293, 294, 295, 296, 297, 298, 299,2391300, 301, 302, 303, 304, 305, 306, 307, 308, 309,2392310, 311, 312, 313, 314, 315, 316, 317, 0, 0,23930, 321, 322, 323, 324, 325, 326, 327, 328, 329,2394330, 0, 0, 0, 0, 0, 0, 0, 0, 0,23950, 0, 0, 0, 0, 0, 0, 0, 0, 0,23960, 0, 0, 0, 0, 0, 0, 0, 836, 0,23970, 0, 0, 0, 0, 0, 0, 0, 0, 0,23980, 0, 0, 0, 0, 0, 0, 333, 334, 335,2399336, 0, 0, 0, 0, 0, 0, 0, 0, 0,2400338, 339, 340, 341, 342, 343, 344, 0, 0, 0,24010, 0, 0, 0, 0, 0, 0, 0, 0, 0,24020, 0, 345, 346, 347, 348, 349, 350, 351, 0,24030, 0, 0, 0, 0, 0, 0, 352, 0, 353,2404354, 355, 356, 357, 358, 359, 360, 361, 362, 363,2405364, 365, 366, 367, 368, 369, 370, 371, 372, 373,2406374, 375, 376, 377, 378, 379, 380, 381, 382, 383,2407384, 385, 386, 1, 2, 3, 4, 5, 6, 7,24088, 9, 10, 11, 12, 13, 14, 15, 16, 17,240918, 19, 20, 21, 22, 23, 24, 25, 26, 27,241028, 29, 30, 31, 32, 33, 34, 35, 36, 37,241138, 39, 40, 41, 42, 43, 44, 45, 46, 47,241248, 49, 50, 51, 52, 53, 54, 55, 56, 57,241358, 59, 60, 61, 62, 63, 64, 65, 66, 67,241468, 69, 70, 71, 72, 73, 74, 75, 76, 77,241578, 79, 80, 81, 82, 83, 84, 85, 86, 87,241688, 89, 90, 91, 92, 93, 94, 95, 96, 97,241798, 99, 100, 101, 102, 103, 104, 105, 106, 107,2418108, 109, 110, 111, 112, 113, 114, 115, 116, 117,2419118, 119, 120, 121, 122, 123, 124, 125, 126, 127,2420128, 129, 130, 131, 132, 133, 134, 135, 136, 137,2421138, 139, 140, 141, 142, 143, 144, 145, 146, 147,2422148, 149, 150, 151, 152, 153, 154, 155, 156, 157,2423158, 159, 160, 161, 162, 163, 164, 165, 166, 167,2424168, 169, 170, 171, 172, 173, 174, 175, 176, 177,2425178, 179, 180, 181, 182, 183, 184, 185, 186, 187,2426188, 189, 190, 191, 192, 193, 194, 195, 196, 197,2427198, 199, 200, 201, 202, 203, 204, 205, 206, 207,2428208, 209, 210, 211, 212, 213, 214, 215, 216, 217,2429218, 219, 220, 221, 222, 223, 224, 225, 226, 227,2430228, 229, 230, 231, 232, 233, 234, 235, 236, 237,2431238, 239, 240, 241, 242, 243, 244, 245, 246, 247,2432248, 249, 250, 251, 252, 253, 254, 255, 256, 257,2433258, 259, 260, 261, 262, 263, 264, 265, 266, 267,2434268, 269, 270, 271, 272, 273, 274, 275, 276, 277,2435278, 279, 280, 281, 282, 283, 284, 285, 286, 287,2436288, 289, 290, 291, 292, 293, 294, 295, 296, 297,2437298, 299, 300, 301, 302, 303, 304, 305, 306, 307,2438308, 309, 310, 311, 312, 313, 314, 315, 316, 317,24390, 0, 0, 321, 322, 323, 324, 325, 326, 327,2440328, 329, 330, 0, 0, 0, 0, 0, 0, 0,24410, 0, 0, 0, 0, 0, 0, 0, 0, 0,24420, 0, 0, 0, 0, 0, 0, 0, 0, 0,2443871, 0, 0, 0, 0, 0, 0, 0, 0, 0,24440, 0, 0, 0, 0, 0, 0, 0, 0, 333,2445334, 335, 336, 0, 0, 0, 0, 0, 0, 0,24460, 0, 338, 339, 340, 341, 342, 343, 344, 0,24470, 0, 0, 0, 0, 0, 0, 0, 0, 0,24480, 0, 0, 0, 345, 346, 347, 348, 349, 350,2449351, 0, 0, 0, 0, 0, 0, 0, 0, 352,24500, 353, 354, 355, 356, 357, 358, 359, 360, 361,2451362, 363, 364, 365, 366, 367, 368, 369, 370, 371,2452372, 373, 374, 375, 376, 377, 378, 379, 380, 381,2453382, 383, 384, 385, 386, 1, 2, 3, 4, 5,24546, 7, 8, 9, 10, 11, 12, 13, 14, 15,245516, 17, 18, 19, 20, 21, 22, 23, 24, 25,245626, 27, 28, 29, 30, 31, 32, 33, 34, 35,245736, 37, 38, 39, 40, 41, 42, 43, 44, 45,245846, 47, 48, 49, 50, 51, 52, 53, 54, 55,245956, 57, 58, 59, 60, 61, 62, 63, 64, 65,246066, 67, 68, 69, 70, 71, 72, 73, 74, 75,246176, 77, 78, 79, 80, 81, 82, 83, 84, 85,246286, 87, 88, 89, 90, 91, 92, 93, 94, 95,246396, 97, 98, 99, 100, 101, 102, 103, 104, 105,2464106, 107, 108, 109, 110, 111, 112, 113, 114, 115,2465116, 117, 118, 119, 120, 121, 122, 123, 124, 125,2466126, 127, 128, 129, 130, 131, 132, 133, 134, 135,2467136, 137, 138, 139, 140, 141, 142, 143, 144, 145,2468146, 147, 148, 149, 150, 151, 152, 153, 154, 155,2469156, 157, 158, 159, 160, 161, 162, 163, 164, 165,2470166, 167, 168, 169, 170, 171, 172, 173, 174, 175,2471176, 177, 178, 179, 180, 181, 182, 183, 184, 185,2472186, 187, 188, 189, 190, 191, 192, 193, 194, 195,2473196, 197, 198, 199, 200, 201, 202, 203, 204, 205,2474206, 207, 208, 209, 210, 211, 212, 213, 214, 215,2475216, 217, 218, 219, 220, 221, 222, 223, 224, 225,2476226, 227, 228, 229, 230, 231, 232, 233, 234, 235,2477236, 237, 238, 239, 240, 241, 242, 243, 244, 245,2478246, 247, 248, 249, 250, 251, 252, 253, 254, 255,2479256, 257, 258, 259, 260, 261, 262, 263, 264, 265,2480266, 267, 268, 269, 270, 271, 272, 273, 274, 275,2481276, 277, 278, 279, 280, 281, 282, 283, 284, 285,2482286, 287, 288, 289, 290, 291, 292, 293, 294, 295,2483296, 297, 298, 299, 300, 301, 302, 303, 304, 305,2484306, 307, 308, 309, 310, 311, 312, 313, 314, 315,2485316, 317, 0, 0, 0, 321, 322, 323, 324, 325,2486326, 327, 328, 329, 330, 0, 0, 0, 0, 0,24870, 0, 0, 0, 0, 0, 0, 0, 0, 0,24880, 0, 0, 0, 0, 0, 0, 0, 0, 0,24890, 0, 0, 0, 0, 0, 0, 0, 0, 0,24900, 0, 0, 0, 0, 0, 0, 0, 0, 0,24910, 333, 334, 335, 336, 0, 0, 0, 0, 0,24920, 0, 0, 0, 338, 339, 340, 341, 342, 343,2493344, 0, 0, 0, 0, 0, 0, 0, 0, 0,24940, 0, 0, 0, 0, 0, 345, 346, 347, 348,2495349, 350, 351, 0, 0, 0, 0, 0, 0, 0,24960, 352, 0, 353, 354, 355, 356, 357, 358, 359,2497360, 361, 362, 363, 364, 365, 366, 367, 368, 369,2498370, 371, 372, 373, 374, 375, 376, 377, 378, 379,2499380, 381, 382, 383, 384, 385, 386, 2, 3, 4,25005, 6, 7, 8, 9, 10, 11, 12, 13, 14,250115, 16, 17, 18, 19, 20, 21, 22, 23, 24,250225, 26, 27, 28, 29, 30, 31, 32, 33, 34,250335, 36, 37, 38, 39, 40, 41, 42, 43, 44,250445, 46, 47, 48, 49, 50, 51, 52, 53, 54,250555, 56, 57, 58, 0, 0, 61, 62, 63, 64,250665, 66, 67, 68, 69, 70, 71, 72, 73, 74,250775, 76, 77, 78, 79, 80, 81, 82, 83, 84,250885, 86, 87, 88, 89, 90, 91, 92, 93, 94,250995, 96, 97, 98, 99, 100, 101, 102, 103, 104,2510105, 106, 107, 108, 109, 110, 111, 112, 113, 114,2511115, 116, 117, 118, 119, 120, 121, 122, 123, 124,2512125, 126, 127, 128, 129, 130, 131, 132, 133, 134,2513135, 136, 137, 138, 139, 140, 141, 142, 143, 144,2514145, 146, 147, 148, 149, 150, 151, 152, 153, 154,2515155, 156, 157, 158, 159, 160, 161, 162, 163, 164,2516165, 0, 167, 168, 169, 170, 171, 172, 173, 174,2517175, 176, 177, 178, 179, 180, 181, 182, 183, 184,2518185, 186, 187, 188, 189, 190, 191, 192, 193, 194,2519195, 196, 197, 198, 199, 200, 201, 202, 203, 204,2520205, 206, 207, 208, 209, 210, 211, 212, 213, 214,2521215, 216, 217, 218, 219, 220, 221, 222, 223, 224,2522225, 226, 227, 228, 229, 230, 231, 232, 233, 234,2523235, 236, 237, 238, 239, 240, 241, 242, 243, 244,2524245, 246, 247, 248, 249, 250, 251, 252, 253, 254,2525255, 256, 257, 258, 259, 260, 261, 262, 263, 264,2526265, 266, 267, 268, 269, 270, 271, 272, 273, 274,2527275, 276, 277, 278, 279, 280, 281, 282, 283, 284,2528285, 286, 287, 288, 289, 290, 291, 292, 293, 294,2529295, 296, 297, 298, 299, 300, 301, 302, 303, 304,2530305, 306, 307, 308, 309, 310, 311, 312, 313, 314,2531315, 316, 317, 0, 0, 0, 0, 0, 0, 324,25320, 0, 0, 328, 329, 330, 0, 0, 509, 510,25330, 0, 0, 0, 0, 0, 0, 0, 0, 0,25340, 0, 0, 0, 0, 0, 0, 511, 512, 0,25350, 0, 647, 791, 0, 0, 0, 0, 0, 513,2536514, 515, 516, 0, 0, 0, 0, 0, 0, 0,25370, 0, 0, 0, 0, 0, 0, 0, 0, 0,2538517, 518, 519, 520, 521, 338, 0, 0, 0, 0,2539343, 344, 0, 0, 0, 0, 0, 0, 0, 0,25400, 0, 0, 0, 0, 0, 0, 0, 0, 0,25410, 0, 0, 0, 522, 523, 524, 525, 526, 527,2542528, 529, 0, 0, 0, 0, 0, 0, 0, 0,25430, 0, 0, 0, 0, 0, 365, 2, 3, 4,25445, 6, 7, 8, 9, 10, 11, 12, 13, 14,254515, 16, 17, 18, 19, 20, 21, 22, 23, 24,254625, 26, 27, 28, 29, 30, 31, 32, 33, 34,254735, 36, 37, 38, 39, 40, 41, 42, 43, 44,254845, 46, 47, 48, 49, 50, 51, 52, 53, 54,254955, 56, 57, 58, 0, 0, 61, 62, 63, 64,255065, 66, 67, 68, 69, 70, 71, 72, 73, 74,255175, 76, 77, 78, 79, 80, 81, 82, 83, 84,255285, 86, 87, 88, 89, 90, 91, 92, 93, 94,255395, 96, 97, 98, 99, 100, 101, 102, 103, 104,2554105, 106, 107, 108, 109, 110, 111, 112, 113, 114,2555115, 116, 117, 118, 119, 120, 121, 122, 123, 124,2556125, 126, 127, 128, 129, 130, 131, 132, 133, 134,2557135, 136, 137, 138, 139, 140, 141, 142, 143, 144,2558145, 146, 147, 148, 149, 150, 151, 152, 153, 154,2559155, 156, 157, 158, 159, 160, 161, 162, 163, 164,2560165, 0, 167, 168, 169, 170, 171, 172, 173, 174,2561175, 176, 177, 178, 179, 180, 181, 182, 183, 184,2562185, 186, 187, 188, 189, 190, 191, 192, 193, 194,2563195, 196, 197, 198, 199, 200, 201, 202, 203, 204,2564205, 206, 207, 208, 209, 210, 211, 212, 213, 214,2565215, 216, 217, 218, 219, 220, 221, 222, 223, 224,2566225, 226, 227, 228, 229, 230, 231, 232, 233, 234,2567235, 236, 237, 238, 239, 240, 241, 242, 243, 244,2568245, 246, 247, 248, 249, 250, 251, 252, 253, 254,2569255, 256, 257, 258, 259, 260, 261, 262, 263, 264,2570265, 266, 267, 268, 269, 270, 271, 272, 273, 274,2571275, 276, 277, 278, 279, 280, 281, 282, 283, 284,2572285, 286, 287, 288, 289, 290, 291, 292, 293, 294,2573295, 296, 297, 298, 299, 300, 301, 302, 303, 304,2574305, 306, 307, 308, 309, 310, 311, 312, 313, 314,2575315, 316, 317, 0, 0, 0, 0, 0, 0, 324,25760, 0, 0, 328, 329, 330, 0, 0, 509, 510,25770, 0, 0, 0, 0, 0, 0, 0, 0, 0,25780, 0, 0, 0, 0, 0, 0, 511, 512, 0,25790, 0, 647, 902, 0, 0, 0, 0, 0, 513,2580514, 515, 516, 0, 0, 0, 0, 0, 0, 0,25810, 0, 0, 0, 0, 0, 0, 0, 0, 0,2582517, 518, 519, 520, 521, 338, 0, 0, 0, 0,2583343, 344, 0, 0, 0, 0, 0, 0, 0, 0,25840, 0, 0, 0, 0, 0, 0, 0, 0, 0,25850, 0, 0, 0, 522, 523, 524, 525, 526, 527,2586528, 529, 0, 0, 0, 0, 0, 0, 0, 0,25870, 0, 0, 0, 0, 0, 365, 2, 3, 4,25885, 6, 7, 8, 9, 10, 11, 12, 13, 14,258915, 16, 17, 18, 19, 20, 21, 22, 23, 24,259025, 26, 27, 28, 29, 30, 31, 32, 33, 34,259135, 36, 37, 38, 39, 40, 41, 42, 43, 44,259245, 46, 47, 48, 49, 50, 51, 52, 53, 54,259355, 56, 57, 58, 0, 0, 61, 62, 63, 64,259465, 66, 67, 68, 69, 70, 71, 72, 73, 74,259575, 76, 77, 78, 79, 80, 81, 82, 83, 84,259685, 86, 87, 88, 89, 90, 91, 92, 93, 94,259795, 96, 97, 98, 99, 100, 101, 102, 103, 104,2598105, 106, 107, 108, 109, 110, 111, 112, 113, 114,2599115, 116, 117, 118, 119, 120, 121, 122, 123, 124,2600125, 126, 127, 128, 129, 130, 131, 132, 133, 134,2601135, 136, 137, 138, 139, 140, 141, 142, 143, 144,2602145, 146, 147, 148, 149, 150, 151, 152, 153, 154,2603155, 156, 157, 158, 159, 160, 161, 162, 163, 164,2604165, 0, 167, 168, 169, 170, 171, 172, 173, 174,2605175, 176, 177, 178, 179, 180, 181, 182, 183, 184,2606185, 186, 187, 188, 189, 190, 191, 192, 193, 194,2607195, 196, 197, 198, 199, 200, 201, 202, 203, 204,2608205, 206, 207, 208, 209, 210, 211, 212, 213, 214,2609215, 216, 217, 218, 219, 220, 221, 222, 223, 224,2610225, 226, 227, 228, 229, 230, 231, 232, 233, 234,2611235, 236, 237, 238, 239, 240, 241, 242, 243, 244,2612245, 246, 247, 248, 249, 250, 251, 252, 253, 254,2613255, 256, 257, 258, 259, 260, 261, 262, 263, 264,2614265, 266, 267, 268, 269, 270, 271, 272, 273, 274,2615275, 276, 277, 278, 279, 280, 281, 282, 283, 284,2616285, 286, 287, 288, 289, 290, 291, 292, 293, 294,2617295, 296, 297, 298, 299, 300, 301, 302, 303, 304,2618305, 306, 307, 308, 309, 310, 311, 312, 313, 314,2619315, 316, 317, 0, 0, 0, 0, 0, 0, 324,26200, 0, 0, 328, 329, 330, 0, 0, 509, 510,26210, 0, 0, 0, 0, 0, 0, 0, 0, 0,26220, 0, 0, 0, 0, 0, 0, 511, 512, 0,26230, 585, 0, 0, 0, 0, 0, 0, 0, 513,2624514, 515, 516, 0, 0, 0, 0, 0, 0, 0,26250, 0, 0, 0, 0, 0, 0, 0, 0, 0,2626517, 518, 519, 520, 521, 338, 0, 0, 0, 0,2627343, 344, 0, 0, 0, 0, 0, 0, 0, 0,26280, 0, 0, 0, 0, 0, 0, 0, 0, 0,26290, 0, 0, 0, 522, 523, 524, 525, 526, 527,2630528, 529, 0, 0, 0, 0, 0, 0, 0, 0,26310, 0, 0, 0, 0, 0, 365, 2, 3, 4,26325, 6, 7, 8, 9, 10, 11, 12, 13, 14,263315, 16, 17, 18, 19, 20, 21, 22, 23, 24,263425, 26, 27, 28, 29, 30, 31, 32, 33, 34,263535, 36, 37, 38, 39, 40, 41, 42, 43, 44,263645, 46, 47, 48, 49, 50, 51, 52, 53, 54,263755, 56, 57, 58, 0, 0, 61, 62, 63, 64,263865, 66, 67, 68, 69, 70, 71, 72, 73, 74,263975, 76, 77, 78, 79, 80, 81, 82, 83, 84,264085, 86, 87, 88, 89, 90, 91, 92, 93, 94,264195, 96, 97, 98, 99, 100, 101, 102, 103, 104,2642105, 106, 107, 108, 109, 110, 111, 112, 113, 114,2643115, 116, 117, 118, 119, 120, 121, 122, 123, 124,2644125, 126, 127, 128, 129, 130, 131, 132, 133, 134,2645135, 136, 137, 138, 139, 140, 141, 142, 143, 144,2646145, 146, 147, 148, 149, 150, 151, 152, 153, 154,2647155, 156, 157, 158, 159, 160, 161, 162, 163, 164,2648165, 0, 167, 168, 169, 170, 171, 172, 173, 174,2649175, 176, 177, 178, 179, 180, 181, 182, 183, 184,2650185, 186, 187, 188, 189, 190, 191, 192, 193, 194,2651195, 196, 197, 198, 199, 200, 201, 202, 203, 204,2652205, 206, 207, 208, 209, 210, 211, 212, 213, 214,2653215, 216, 217, 218, 219, 220, 221, 222, 223, 224,2654225, 226, 227, 228, 229, 230, 231, 232, 233, 234,2655235, 236, 237, 238, 239, 240, 241, 242, 243, 244,2656245, 246, 247, 248, 249, 250, 251, 252, 253, 254,2657255, 256, 257, 258, 259, 260, 261, 262, 263, 264,2658265, 266, 267, 268, 269, 270, 271, 272, 273, 274,2659275, 276, 277, 278, 279, 280, 281, 282, 283, 284,2660285, 286, 287, 288, 289, 290, 291, 292, 293, 294,2661295, 296, 297, 298, 299, 300, 301, 302, 303, 304,2662305, 306, 307, 308, 309, 310, 311, 312, 313, 314,2663315, 316, 317, 0, 0, 0, 0, 0, 0, 324,26640, 0, 0, 328, 329, 330, 0, 0, 509, 510,26650, 0, 0, 0, 0, 0, 0, 0, 0, 0,26660, 0, 0, 0, 0, 0, 0, 511, 512, 0,26670, 0, 647, 0, 0, 0, 0, 0, 0, 513,2668514, 515, 516, 0, 0, 0, 0, 0, 0, 0,26690, 0, 0, 0, 0, 0, 0, 0, 0, 0,2670517, 518, 519, 520, 521, 338, 0, 0, 0, 0,2671343, 344, 0, 0, 0, 0, 0, 0, 0, 0,26720, 0, 0, 0, 0, 0, 0, 0, 0, 0,26730, 0, 0, 0, 522, 523, 524, 525, 526, 527,2674528, 529, 0, 0, 0, 0, 0, 0, 0, 0,26750, 0, 0, 0, 0, 0, 365, 2, 3, 4,26765, 6, 7, 8, 9, 10, 11, 12, 13, 14,267715, 16, 17, 18, 19, 20, 21, 22, 23, 24,267825, 26, 27, 28, 29, 30, 31, 32, 33, 34,267935, 36, 37, 38, 39, 40, 41, 42, 43, 44,268045, 46, 47, 48, 49, 50, 51, 52, 53, 54,268155, 56, 57, 58, 0, 0, 61, 62, 63, 64,268265, 66, 67, 68, 69, 70, 71, 72, 73, 74,268375, 76, 77, 78, 79, 80, 81, 82, 83, 84,268485, 86, 87, 88, 89, 90, 91, 92, 93, 94,268595, 96, 97, 98, 99, 100, 101, 102, 103, 104,2686105, 106, 107, 108, 109, 110, 111, 112, 113, 114,2687115, 116, 117, 118, 119, 120, 121, 122, 123, 124,2688125, 126, 127, 128, 129, 130, 131, 132, 133, 134,2689135, 136, 137, 138, 139, 140, 141, 142, 143, 144,2690145, 146, 147, 148, 149, 150, 151, 152, 153, 154,2691155, 156, 157, 158, 159, 160, 161, 162, 163, 164,2692165, 0, 167, 168, 169, 170, 171, 172, 173, 174,2693175, 176, 177, 178, 179, 180, 181, 182, 183, 184,2694185, 186, 187, 188, 189, 190, 191, 192, 193, 194,2695195, 196, 197, 198, 199, 200, 201, 202, 203, 204,2696205, 206, 207, 208, 209, 210, 211, 212, 213, 214,2697215, 216, 217, 218, 219, 220, 221, 222, 223, 224,2698225, 226, 227, 228, 229, 230, 231, 232, 233, 234,2699235, 236, 237, 238, 239, 240, 241, 242, 243, 244,2700245, 246, 247, 248, 249, 250, 251, 252, 253, 254,2701255, 256, 257, 258, 259, 260, 261, 262, 263, 264,2702265, 266, 267, 268, 269, 270, 271, 272, 273, 274,2703275, 276, 277, 278, 279, 280, 281, 282, 283, 284,2704285, 286, 287, 288, 289, 290, 291, 292, 293, 294,2705295, 296, 297, 298, 299, 300, 301, 302, 303, 304,2706305, 306, 307, 308, 309, 310, 311, 312, 313, 314,2707315, 316, 317, 0, 0, 0, 0, 0, 0, 324,27080, 0, 0, 328, 329, 330, 0, 0, 509, 510,27090, 0, 0, 0, 0, 0, 0, 0, 0, 0,27100, 0, 0, 0, 0, 0, 0, 511, 512, 0,27110, 750, 0, 0, 0, 0, 0, 0, 0, 513,2712514, 515, 516, 0, 0, 0, 0, 0, 0, 0,27130, 0, 0, 0, 0, 0, 0, 0, 0, 0,2714517, 518, 519, 520, 521, 338, 0, 0, 0, 0,2715343, 344, 0, 0, 0, 0, 0, 0, 0, 0,27160, 0, 0, 0, 0, 0, 0, 0, 0, 0,27170, 0, 0, 0, 522, 523, 524, 525, 526, 527,2718528, 529, 0, 0, 0, 0, 0, 0, 0, 0,27190, 0, 0, 0, 0, 0, 365, 2, 3, 4,27205, 6, 7, 8, 9, 10, 11, 12, 13, 14,272115, 16, 17, 18, 19, 20, 21, 22, 23, 24,272225, 26, 27, 28, 29, 30, 31, 32, 33, 34,272335, 36, 37, 38, 39, 40, 41, 42, 43, 44,272445, 46, 47, 48, 49, 50, 51, 52, 53, 54,272555, 56, 57, 58, 0, 0, 61, 62, 63, 64,272665, 66, 67, 68, 69, 70, 71, 72, 73, 74,272775, 76, 77, 78, 79, 80, 81, 82, 83, 84,272885, 86, 87, 88, 89, 90, 91, 92, 93, 94,272995, 96, 97, 98, 99, 100, 101, 102, 103, 104,2730105, 106, 107, 108, 109, 110, 111, 112, 113, 114,2731115, 116, 117, 118, 119, 120, 121, 122, 123, 124,2732125, 126, 127, 128, 129, 130, 131, 132, 133, 134,2733135, 136, 137, 138, 139, 140, 141, 142, 143, 144,2734145, 146, 147, 148, 149, 150, 151, 152, 153, 154,2735155, 156, 157, 158, 159, 160, 161, 162, 163, 164,2736165, 0, 167, 168, 169, 170, 171, 172, 173, 174,2737175, 176, 177, 178, 179, 180, 181, 182, 183, 184,2738185, 186, 187, 188, 189, 190, 191, 192, 193, 194,2739195, 196, 197, 198, 199, 200, 201, 202, 203, 204,2740205, 206, 207, 208, 209, 210, 211, 212, 213, 214,2741215, 216, 217, 218, 219, 220, 221, 222, 223, 224,2742225, 226, 227, 228, 229, 230, 231, 232, 233, 234,2743235, 236, 237, 238, 239, 240, 241, 242, 243, 244,2744245, 246, 247, 248, 249, 250, 251, 252, 253, 254,2745255, 256, 257, 258, 259, 260, 261, 262, 263, 264,2746265, 266, 267, 268, 269, 270, 271, 272, 273, 274,2747275, 276, 277, 278, 279, 280, 281, 282, 283, 284,2748285, 286, 287, 288, 289, 290, 291, 292, 293, 294,2749295, 296, 297, 298, 299, 300, 301, 302, 303, 304,2750305, 306, 307, 308, 309, 310, 311, 312, 313, 314,2751315, 316, 317, 0, 0, 0, 0, 0, 0, 324,27520, 0, 0, 328, 329, 330, 0, 0, 509, 510,27530, 0, 0, 0, 0, 0, 0, 0, 0, 0,27540, 0, 0, 0, 0, 0, 0, 511, 512, 0,27550, 0, 0, 0, 0, 0, 0, 0, 761, 513,2756514, 515, 516, 0, 0, 0, 0, 0, 0, 0,27570, 0, 0, 0, 0, 0, 0, 0, 0, 0,2758517, 518, 519, 520, 521, 338, 0, 0, 0, 0,2759343, 344, 0, 0, 0, 0, 0, 0, 0, 0,27600, 0, 0, 0, 0, 0, 0, 0, 0, 0,27610, 0, 0, 0, 522, 523, 524, 525, 526, 527,2762528, 529, 0, 0, 0, 0, 0, 0, 0, 0,27630, 0, 0, 0, 0, 0, 365, 2, 3, 4,27645, 6, 7, 8, 9, 10, 11, 12, 13, 14,276515, 16, 17, 18, 19, 20, 21, 22, 23, 24,276625, 26, 27, 28, 29, 30, 31, 32, 33, 34,276735, 36, 37, 38, 39, 40, 41, 42, 43, 44,276845, 46, 47, 48, 49, 50, 51, 52, 53, 54,276955, 56, 57, 58, 0, 0, 61, 62, 63, 64,277065, 66, 67, 68, 69, 70, 71, 72, 73, 74,277175, 76, 77, 78, 79, 80, 81, 82, 83, 84,277285, 86, 87, 88, 89, 90, 91, 92, 93, 94,277395, 96, 97, 98, 99, 100, 101, 102, 103, 104,2774105, 106, 107, 108, 109, 110, 111, 112, 113, 114,2775115, 116, 117, 118, 119, 120, 121, 122, 123, 124,2776125, 126, 127, 128, 129, 130, 131, 132, 133, 134,2777135, 136, 137, 138, 139, 140, 141, 142, 143, 144,2778145, 146, 147, 148, 149, 150, 151, 152, 153, 154,2779155, 156, 157, 158, 159, 160, 161, 162, 163, 164,2780165, 0, 167, 168, 169, 170, 171, 172, 173, 174,2781175, 176, 177, 178, 179, 180, 181, 182, 183, 184,2782185, 186, 187, 188, 189, 190, 191, 192, 193, 194,2783195, 196, 197, 198, 199, 200, 201, 202, 203, 204,2784205, 206, 207, 208, 209, 210, 211, 212, 213, 214,2785215, 216, 217, 218, 219, 220, 221, 222, 223, 224,2786225, 226, 227, 228, 229, 230, 231, 232, 233, 234,2787235, 236, 237, 238, 239, 240, 241, 242, 243, 244,2788245, 246, 247, 248, 249, 250, 251, 252, 253, 254,2789255, 256, 257, 258, 259, 260, 261, 262, 263, 264,2790265, 266, 267, 268, 269, 270, 271, 272, 273, 274,2791275, 276, 277, 278, 279, 280, 281, 282, 283, 284,2792285, 286, 287, 288, 289, 290, 291, 292, 293, 294,2793295, 296, 297, 298, 299, 300, 301, 302, 303, 304,2794305, 306, 307, 308, 309, 310, 311, 312, 313, 314,2795315, 316, 317, 0, 0, 0, 0, 0, 0, 324,27960, 0, 0, 328, 329, 330, 0, 0, 509, 510,27970, 0, 0, 0, 0, 0, 0, 0, 0, 0,27980, 0, 0, 0, 0, 0, 0, 511, 512, 0,27990, 0, 0, 0, 0, 0, 0, 0, 0, 513,2800514, 515, 516, 0, 0, 0, 0, 0, 0, 0,28010, 0, 0, 0, 0, 0, 0, 0, 0, 0,2802517, 518, 519, 520, 521, 338, 0, 0, 0, 0,2803343, 344, 0, 0, 0, 0, 0, 0, 0, 0,28040, 0, 0, 0, 0, 0, 0, 0, 0, 0,28050, 0, 0, 0, 522, 523, 524, 525, 526, 527,2806528, 529, 0, 0, 0, 0, 0, 0, 0, 0,28070, 0, 0, 0, 0, 0, 365, 2, 3, 4,28085, 6, 7, 8, 9, 10, 11, 12, 13, 14,280915, 16, 17, 18, 19, 20, 21, 22, 23, 24,281025, 26, 27, 28, 29, 30, 31, 32, 33, 34,281135, 36, 37, 38, 39, 40, 41, 42, 43, 44,281245, 46, 47, 48, 49, 50, 51, 52, 53, 54,281355, 56, 57, 58, 0, 0, 61, 62, 63, 64,281465, 66, 67, 68, 69, 70, 71, 72, 73, 74,281575, 76, 77, 78, 79, 80, 81, 82, 83, 84,281685, 86, 87, 88, 89, 90, 91, 92, 93, 94,281795, 96, 97, 98, 99, 100, 101, 102, 103, 104,2818105, 106, 107, 108, 109, 110, 111, 112, 113, 114,2819115, 116, 117, 118, 119, 120, 121, 122, 123, 124,2820125, 126, 127, 128, 129, 130, 131, 132, 133, 134,2821135, 136, 137, 138, 139, 140, 141, 142, 143, 144,2822145, 146, 147, 148, 149, 150, 151, 152, 153, 154,2823155, 156, 157, 158, 159, 160, 161, 162, 163, 164,2824165, 0, 167, 168, 169, 170, 171, 172, 173, 174,2825175, 176, 177, 178, 179, 180, 181, 182, 183, 184,2826185, 186, 187, 188, 189, 190, 191, 192, 193, 194,2827195, 196, 197, 198, 199, 200, 201, 202, 203, 204,2828205, 206, 207, 208, 209, 210, 211, 212, 213, 214,2829215, 216, 217, 218, 219, 220, 221, 222, 223, 224,2830225, 226, 227, 228, 229, 230, 231, 232, 233, 234,2831235, 236, 237, 238, 239, 240, 241, 242, 243, 244,2832245, 246, 247, 248, 249, 250, 251, 252, 253, 254,2833255, 256, 257, 258, 259, 260, 261, 262, 263, 264,2834265, 266, 267, 268, 269, 270, 271, 272, 273, 274,2835275, 276, 277, 278, 279, 280, 281, 282, 283, 284,2836285, 286, 287, 288, 289, 290, 291, 292, 293, 294,2837295, 296, 297, 298, 299, 300, 301, 302, 303, 304,2838305, 306, 307, 308, 309, 310, 311, 312, 313, 314,2839315, 316, 317, 0, 0, 0, 0, 0, 0, 324,28400, 0, 0, 328, 329, 330, 0, 0, 509, 510,28410, 0, 0, 0, 0, 0, 0, 0, 0, 0,28420, 0, 0, 0, 0, 0, 0, 511, 512, 0,28430, 0, 0, 0, 0, 0, 0, 0, 0, 513,2844514, 515, 516, 0, 0, 0, 0, 0, 0, 0,28450, 0, 0, 0, 0, 0, 0, 0, 0, 0,2846517, 518, 519, 520, 521, 338, 0, 0, 0, 0,2847343, 665, 0, 0, 0, 0, 0, 0, 0, 0,28480, 0, 0, 0, 0, 0, 0, 0, 0, 0,28490, 0, 0, 0, 522, 523, 524, 525, 526, 527,2850528, 529, 0, 0, 0, 0, 0, 0, 0, 0,28510, 0, 0, 0, 0, 0, 365, 2, 3, 4,28525, 6, 7, 8, 9, 10, 11, 12, 13, 14,285315, 16, 17, 18, 19, 20, 21, 22, 23, 24,285425, 26, 27, 28, 29, 30, 31, 32, 33, 34,285535, 36, 37, 38, 39, 40, 41, 42, 43, 44,285645, 46, 47, 48, 49, 50, 51, 52, 53, 54,285755, 56, 57, 58, 0, 0, 61, 62, 63, 64,285865, 66, 67, 68, 69, 70, 71, 72, 73, 74,285975, 76, 77, 78, 79, 80, 81, 82, 83, 84,286085, 86, 87, 88, 89, 90, 91, 92, 93, 94,286195, 96, 97, 98, 99, 100, 101, 102, 103, 104,2862105, 106, 107, 108, 109, 110, 111, 112, 113, 114,2863115, 116, 117, 118, 119, 120, 121, 122, 123, 124,2864125, 126, 127, 128, 129, 130, 131, 132, 133, 134,2865135, 136, 137, 138, 139, 140, 141, 142, 143, 144,2866145, 146, 147, 148, 149, 150, 151, 152, 153, 154,2867155, 156, 157, 158, 159, 160, 161, 162, 163, 164,2868165, 0, 167, 168, 169, 170, 171, 172, 173, 174,2869175, 176, 177, 178, 179, 180, 181, 182, 183, 184,2870185, 186, 187, 188, 189, 190, 191, 192, 193, 194,2871195, 196, 197, 198, 199, 200, 201, 202, 203, 204,2872205, 206, 207, 208, 209, 210, 211, 212, 213, 214,2873215, 216, 217, 218, 219, 220, 221, 222, 223, 224,2874225, 226, 227, 228, 229, 230, 231, 232, 233, 234,2875235, 236, 237, 238, 239, 240, 241, 242, 243, 244,2876245, 246, 247, 248, 249, 250, 251, 252, 253, 254,2877255, 256, 257, 258, 259, 260, 261, 262, 263, 264,2878265, 266, 267, 268, 269, 270, 271, 272, 273, 274,2879275, 276, 277, 278, 279, 280, 281, 282, 283, 284,2880285, 286, 287, 288, 289, 290, 291, 292, 293, 294,2881295, 296, 297, 298, 299, 300, 301, 302, 303, 304,2882305, 306, 307, 308, 309, 310, 311, 312, 313, 314,2883315, 316, 317, 0, 0, 0, 0, 0, 0, 324,28840, 0, 0, 328, 329, 330, 0, 0, 509, 510,28850, 0, 0, 0, 0, 0, 0, 0, 0, 0,28860, 0, 0, 0, 0, 0, 0, 511, 512, 0,28870, 0, 0, 0, 0, 0, 0, 0, 0, 513,2888514, 515, 516, 0, 0, 0, 0, 0, 0, 0,28890, 0, 0, 0, 0, 0, 0, 0, 0, 0,2890517, 518, 519, 520, 710, 338, 0, 0, 0, 0,2891343, 344, 0, 0, 0, 0, 0, 0, 0, 0,28920, 0, 0, 0, 0, 0, 0, 0, 0, 0,28930, 0, 0, 0, 522, 523, 524, 525, 526, 527,2894528, 529, 0, 0, 0, 0, 0, 0, 0, 0,28950, 0, 0, 0, 0, 0, 365, 2, 3, 4,28965, 6, 7, 8, 9, 10, 11, 12, 13, 14,289715, 16, 17, 18, 19, 20, 21, 22, 23, 24,289825, 26, 27, 28, 29, 30, 31, 32, 33, 34,289935, 36, 37, 38, 39, 40, 41, 42, 43, 44,290045, 46, 47, 48, 49, 50, 51, 52, 53, 54,290155, 56, 57, 58, 0, 0, 61, 62, 63, 64,290265, 66, 67, 68, 69, 70, 71, 72, 73, 74,290375, 76, 77, 78, 79, 80, 81, 82, 83, 84,290485, 86, 87, 88, 89, 90, 91, 92, 93, 94,290595, 96, 97, 98, 99, 100, 101, 102, 103, 104,2906105, 106, 107, 108, 109, 110, 111, 112, 113, 114,2907115, 116, 117, 118, 119, 120, 121, 122, 123, 124,2908125, 126, 127, 128, 129, 130, 131, 132, 133, 134,2909135, 136, 137, 138, 139, 140, 141, 142, 143, 144,2910145, 146, 147, 148, 149, 150, 151, 152, 153, 154,2911155, 156, 157, 158, 159, 160, 161, 162, 163, 164,2912165, 0, 167, 168, 169, 170, 171, 172, 173, 174,2913175, 176, 177, 178, 179, 180, 181, 182, 183, 184,2914185, 186, 187, 188, 189, 190, 191, 192, 193, 194,2915195, 196, 197, 198, 199, 200, 201, 202, 203, 204,2916205, 206, 207, 208, 209, 210, 211, 212, 213, 214,2917215, 216, 217, 218, 219, 220, 221, 222, 223, 224,2918225, 226, 227, 228, 229, 230, 231, 232, 233, 234,2919235, 236, 237, 238, 239, 240, 241, 242, 243, 244,2920245, 246, 247, 248, 249, 250, 251, 252, 253, 254,2921255, 256, 257, 258, 259, 260, 261, 262, 263, 264,2922265, 266, 267, 268, 269, 270, 271, 272, 273, 274,2923275, 276, 277, 278, 279, 280, 281, 282, 283, 284,2924285, 286, 287, 288, 289, 290, 291, 292, 293, 294,2925295, 296, 297, 298, 299, 300, 301, 302, 303, 304,2926305, 306, 307, 308, 309, 310, 311, 312, 313, 314,2927315, 316, 317, 0, 0, 0, 0, 0, 0, 324,29280, 0, 0, 328, 329, 330, 0, 0, 0, 0,29290, 0, 0, 0, 0, 0, 0, 0, 0, 0,29300, 0, 0, 0, 0, 0, 0, 0, 0, 0,29310, 0, 0, 0, 0, 0, 0, 0, 0, 0,29320, 0, 0, 0, 0, 0, 0, 0, 0, 0,29330, 0, 0, 0, 0, 0, 0, 0, 0, 0,29340, 0, 0, 0, 0, 338, 0, 0, 0, 0,2935343, 3442936};29372938static const yytype_int16 yycheck[] =2939{29400, 0, 0, 392, 503, 411, 0, 633, 411, 491,2941416, 444, 0, 449, 552, 568, 753, 450, 562, 579,2942512, 577, 411, 557, 354, 400, 342, 416, 423, 354,2943568, 645, 357, 647, 337, 338, 650, 571, 365, 538,2944359, 362, 354, 354, 915, 391, 580, 436, 357, 362,2945355, 922, 365, 374, 355, 491, 365, 387, 388, 389,2946390, 932, 378, 388, 391, 440, 355, 500, 501, 415,2947373, 374, 391, 509, 510, 557, 388, 388, 356, 355,2948357, 456, 335, 336, 362, 357, 568, 364, 355, 571,2949357, 651, 357, 365, 483, 373, 357, 364, 580, 364,2950356, 356, 355, 364, 357, 541, 362, 362, 361, 355,2951418, 419, 420, 421, 422, 423, 424, 355, 600, 356,2952612, 557, 614, 359, 356, 362, 362, 356, 355, 365,2953362, 757, 568, 362, 550, 571, 388, 356, 388, 391,2954556, 391, 558, 362, 580, 561, 645, 563, 647, 565,2955566, 650, 356, 356, 570, 550, 356, 356, 362, 362,2956356, 356, 362, 362, 600, 664, 362, 362, 660, 725,2957358, 566, 388, 355, 362, 391, 790, 344, 345, 346,2958347, 348, 349, 350, 351, 352, 353, 356, 577, 357,2959579, 388, 356, 362, 391, 356, 356, 364, 362, 936,2960575, 362, 362, 356, 356, 356, 356, 356, 356, 362,2961362, 362, 362, 362, 362, 356, 356, 356, 356, 356,2962355, 362, 362, 362, 362, 362, 358, 358, 333, 334,2963362, 362, 858, 669, 367, 355, 369, 643, 362, 795,2964643, 387, 388, 389, 390, 391, 736, 737, 738, 739,2965362, 365, 388, 365, 643, 391, 870, 387, 388, 389,2966390, 388, 651, 388, 391, 388, 391, 759, 391, 388,2967388, 763, 391, 391, 827, 356, 829, 821, 822, 373,2968814, 815, 781, 782, 360, 388, 362, 720, 391, 827,2969391, 790, 365, 729, 730, 731, 732, 733, 734, 735,2970736, 737, 738, 739, 740, 741, 742, 743, 744, 745,2971746, 747, 926, 391, 388, 362, 942, 391, 365, 362,2972362, 362, 365, 365, 365, 380, 381, 382, 339, 340,2973362, 363, 814, 815, 362, 363, 725, 370, 371, 372,2974732, 733, 391, 734, 735, 827, 359, 829, 357, 359,2975740, 741, 391, 391, 391, 357, 391, 365, 364, 356,2976364, 362, 365, 377, 856, 356, 362, 859, 391, 362,2977362, 870, 362, 362, 357, 362, 362, 362, 814, 815,2978362, 362, 355, 355, 364, 356, 355, 355, 354, 341,2979357, 827, 392, 829, 358, 343, 391, 376, 375, 358,2980400, 355, 360, 365, 392, 365, 795, 899, 408, 408,2981408, 411, 400, 912, 408, 391, 416, 416, 416, 355,2982408, 391, 355, 411, 916, 365, 426, 926, 416, 355,2983365, 363, 355, 362, 365, 365, 436, 435, 365, 931,2984440, 391, 391, 356, 364, 362, 362, 356, 436, 449,2985356, 358, 440, 859, 358, 354, 456, 362, 399, 354,2986388, 355, 360, 356, 364, 356, 391, 359, 456, 365,2987859, 359, 359, 742, 360, 365, 744, 743, 582, 403,2988436, 745, 337, 483, 746, 440, 719, 747, 861, 440,2989834, 921, 932, 899, 494, 483, 933, 434, 861, 643,2990899, 643, 573, 810, 819, 408, 494, 817, 812, 643,2991899, 825, 829, 815, -1, -1, 822, -1, -1, -1,2992-1, 821, -1, -1, -1, -1, -1, -1, 827, -1,2993-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,2994-1, -1, -1, -1, -1, -1, -1, -1, 546, -1,2995-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,2996-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,2997-1, -1, -1, -1, -1, 575, -1, 577, -1, 579,2998-1, -1, -1, -1, -1, -1, -1, 575, -1, 577,2999-1, 579, -1, -1, -1, -1, -1, -1, -1, -1,3000-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,3001-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,3002-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,3003-1, -1, -1, 633, -1, -1, -1, -1, -1, -1,3004-1, -1, -1, 643, -1, 633, -1, -1, -1, -1,3005-1, 651, -1, -1, -1, 643, -1, -1, -1, -1,3006-1, -1, -1, 651, -1, -1, -1, -1, -1, -1,3007-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,3008-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,3009-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,3010-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,3011-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,3012-1, -1, -1, -1, -1, 725, -1, -1, -1, -1,3013-1, -1, -1, -1, -1, -1, -1, 725, -1, -1,3014-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,3015-1, -1, -1, 753, -1, -1, -1, 757, -1, -1,3016-1, -1, -1, -1, -1, 753, -1, -1, -1, 757,3017-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,3018-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,3019-1, -1, -1, -1, -1, 795, -1, -1, -1, -1,3020-1, -1, -1, -1, -1, -1, -1, 795, -1, -1,3021-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,3022-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,3023-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,3024-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,3025-1, -1, -1, -1, -1, -1, -1, -1, 858, 859,3026-1, 861, -1, 861, -1, -1, -1, -1, -1, -1,3027858, 859, -1, 861, -1, -1, -1, -1, -1, -1,3028-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,3029-1, -1, -1, -1, -1, -1, -1, -1, -1, 899,3030-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,3031-1, 899, -1, -1, -1, 915, -1, -1, -1, -1,3032-1, -1, 922, -1, -1, -1, -1, 915, -1, -1,3033-1, -1, 932, -1, 922, -1, 936, -1, -1, -1,3034-1, -1, 942, -1, 932, -1, -1, -1, 936, -1,3035-1, -1, 0, -1, 942, 3, 4, 5, 6, 7,30368, 9, 10, 11, 12, 13, 14, 15, 16, 17,303718, 19, 20, 21, 22, 23, 24, 25, 26, 27,303828, 29, 30, 31, 32, 33, 34, 35, 36, 37,303938, 39, 40, 41, 42, 43, 44, 45, 46, 47,304048, 49, 50, 51, 52, 53, 54, 55, 56, 57,304158, 59, 60, 61, 62, 63, 64, 65, 66, 67,304268, 69, 70, 71, 72, 73, 74, 75, 76, 77,304378, 79, 80, 81, 82, 83, 84, 85, 86, 87,304488, 89, 90, 91, 92, 93, 94, 95, 96, 97,304598, 99, 100, 101, 102, 103, 104, 105, 106, 107,3046108, 109, 110, 111, 112, 113, 114, 115, 116, 117,3047118, 119, 120, 121, 122, 123, 124, 125, 126, 127,3048128, 129, 130, 131, 132, 133, 134, 135, 136, 137,3049138, 139, 140, 141, 142, 143, 144, 145, 146, 147,3050148, 149, 150, 151, 152, 153, 154, 155, 156, 157,3051158, 159, 160, 161, 162, 163, 164, 165, 166, 167,3052168, 169, 170, 171, 172, 173, 174, 175, 176, 177,3053178, 179, 180, 181, 182, 183, 184, 185, 186, 187,3054188, 189, 190, 191, 192, 193, 194, 195, 196, 197,3055198, 199, 200, 201, 202, 203, 204, 205, 206, 207,3056208, 209, 210, 211, 212, 213, 214, 215, 216, 217,3057218, 219, 220, 221, 222, 223, 224, 225, 226, 227,3058228, 229, 230, 231, 232, 233, 234, 235, 236, 237,3059238, 239, 240, 241, 242, 243, 244, 245, 246, 247,3060248, 249, 250, 251, 252, 253, 254, 255, 256, 257,3061258, 259, 260, 261, 262, 263, 264, 265, 266, 267,3062268, 269, 270, 271, 272, 273, 274, 275, 276, 277,3063278, 279, 280, 281, 282, 283, 284, 285, 286, 287,3064288, 289, 290, 291, 292, 293, 294, 295, 296, 297,3065298, 299, 300, 301, 302, 303, 304, 305, 306, 307,3066308, 309, 310, 311, 312, 313, 314, 315, 316, 317,3067318, 319, 320, 321, 322, 323, 324, 325, 326, 327,3068328, 329, 330, 331, 332, -1, -1, -1, -1, -1,3069-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,3070-1, -1, -1, -1, -1, -1, -1, -1, -1, 357,3071-1, -1, -1, -1, -1, -1, -1, 365, -1, -1,3072-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,3073-1, 379, 380, 381, 382, 383, -1, -1, -1, -1,3074-1, -1, -1, -1, 392, 393, 394, 395, 396, 397,3075398, -1, -1, -1, -1, -1, -1, -1, -1, -1,3076-1, -1, -1, -1, -1, -1, 414, 415, 416, 417,3077418, 419, 420, -1, -1, -1, -1, -1, -1, -1,3078-1, 429, -1, 431, 432, 433, 434, 435, 436, 437,3079438, 439, 440, 441, 442, 443, 444, 445, 446, 447,3080448, 449, 450, 451, 452, 453, 454, 455, 456, 457,3081458, 459, 460, 461, 462, 463, 464, 3, 4, 5,30826, 7, 8, 9, 10, 11, 12, 13, 14, 15,308316, 17, 18, 19, 20, 21, 22, 23, 24, 25,308426, 27, 28, 29, 30, 31, 32, 33, 34, 35,308536, 37, 38, 39, 40, 41, 42, 43, 44, 45,308646, 47, 48, 49, 50, 51, 52, 53, 54, 55,308756, 57, 58, 59, 60, 61, 62, 63, 64, 65,308866, 67, 68, 69, 70, 71, 72, 73, 74, 75,308976, 77, 78, 79, 80, 81, 82, 83, 84, 85,309086, 87, 88, 89, 90, 91, 92, 93, 94, 95,309196, 97, 98, 99, 100, 101, 102, 103, 104, 105,3092106, 107, 108, 109, 110, 111, 112, 113, 114, 115,3093116, 117, 118, 119, 120, 121, 122, 123, 124, 125,3094126, 127, 128, 129, 130, 131, 132, 133, 134, 135,3095136, 137, 138, 139, 140, 141, 142, 143, 144, 145,3096146, 147, 148, 149, 150, 151, 152, 153, 154, 155,3097156, 157, 158, 159, 160, 161, 162, 163, 164, 165,3098166, 167, 168, 169, 170, 171, 172, 173, 174, 175,3099176, 177, 178, 179, 180, 181, 182, 183, 184, 185,3100186, 187, 188, 189, 190, 191, 192, 193, 194, 195,3101196, 197, 198, 199, 200, 201, 202, 203, 204, 205,3102206, 207, 208, 209, 210, 211, 212, 213, 214, 215,3103216, 217, 218, 219, 220, 221, 222, 223, 224, 225,3104226, 227, 228, 229, 230, 231, 232, 233, 234, 235,3105236, 237, 238, 239, 240, 241, 242, 243, 244, 245,3106246, 247, 248, 249, 250, 251, 252, 253, 254, 255,3107256, 257, 258, 259, 260, 261, 262, 263, 264, 265,3108266, 267, 268, 269, 270, 271, 272, 273, 274, 275,3109276, 277, 278, 279, 280, 281, 282, 283, 284, 285,3110286, 287, 288, 289, 290, 291, 292, 293, 294, 295,3111296, 297, 298, 299, 300, 301, 302, 303, 304, 305,3112306, 307, 308, 309, 310, 311, 312, 313, 314, 315,3113316, 317, 318, 319, 320, 321, 322, 323, 324, 325,3114326, 327, 328, 329, 330, 331, 332, -1, -1, 335,3115336, -1, -1, -1, -1, -1, -1, -1, -1, -1,3116-1, -1, -1, -1, -1, -1, -1, -1, 354, 355,3117-1, 357, -1, 359, 360, -1, -1, -1, -1, 365,3118366, 367, 368, 369, -1, -1, -1, -1, -1, -1,3119-1, -1, -1, 379, 380, 381, 382, 383, -1, -1,3120-1, 387, 388, 389, 390, 391, 392, 393, 394, 395,3121396, 397, 398, 399, 400, 401, 402, -1, 404, 405,3122406, 407, 408, 409, 410, 411, 412, 413, 414, 415,3123416, 417, 418, 419, 420, 421, 422, 423, 424, 425,3124426, 427, 428, 429, 430, 431, 432, 433, 434, 435,3125436, 437, 438, 439, 440, 441, 442, 443, 444, 445,3126446, 447, 448, 449, 450, 451, 452, 453, 454, 455,3127456, 457, 458, 459, 460, 461, 462, 463, 464, 3,31284, 5, 6, 7, 8, 9, 10, 11, 12, 13,312914, 15, 16, 17, 18, 19, 20, 21, 22, 23,313024, 25, 26, 27, 28, 29, 30, 31, 32, 33,313134, 35, 36, 37, 38, 39, 40, 41, 42, 43,313244, 45, 46, 47, 48, 49, 50, 51, 52, 53,313354, 55, 56, 57, 58, 59, 60, 61, 62, 63,313464, 65, 66, 67, 68, 69, 70, 71, 72, 73,313574, 75, 76, 77, 78, 79, 80, 81, 82, 83,313684, 85, 86, 87, 88, 89, 90, 91, 92, 93,313794, 95, 96, 97, 98, 99, 100, 101, 102, 103,3138104, 105, 106, 107, 108, 109, 110, 111, 112, 113,3139114, 115, 116, 117, 118, 119, 120, 121, 122, 123,3140124, 125, 126, 127, 128, 129, 130, 131, 132, 133,3141134, 135, 136, 137, 138, 139, 140, 141, 142, 143,3142144, 145, 146, 147, 148, 149, 150, 151, 152, 153,3143154, 155, 156, 157, 158, 159, 160, 161, 162, 163,3144164, 165, 166, 167, 168, 169, 170, 171, 172, 173,3145174, 175, 176, 177, 178, 179, 180, 181, 182, 183,3146184, 185, 186, 187, 188, 189, 190, 191, 192, 193,3147194, 195, 196, 197, 198, 199, 200, 201, 202, 203,3148204, 205, 206, 207, 208, 209, 210, 211, 212, 213,3149214, 215, 216, 217, 218, 219, 220, 221, 222, 223,3150224, 225, 226, 227, 228, 229, 230, 231, 232, 233,3151234, 235, 236, 237, 238, 239, 240, 241, 242, 243,3152244, 245, 246, 247, 248, 249, 250, 251, 252, 253,3153254, 255, 256, 257, 258, 259, 260, 261, 262, 263,3154264, 265, 266, 267, 268, 269, 270, 271, 272, 273,3155274, 275, 276, 277, 278, 279, 280, 281, 282, 283,3156284, 285, 286, 287, 288, 289, 290, 291, 292, 293,3157294, 295, 296, 297, 298, 299, 300, 301, 302, 303,3158304, 305, 306, 307, 308, 309, 310, 311, 312, 313,3159314, 315, 316, 317, 318, 319, 320, 321, 322, 323,3160324, 325, 326, 327, 328, 329, 330, 331, 332, -1,3161-1, 335, 336, -1, -1, -1, -1, -1, -1, -1,3162-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,3163354, 355, -1, 357, -1, 359, 360, -1, -1, -1,3164-1, 365, 366, 367, 368, 369, -1, -1, -1, -1,3165-1, -1, -1, -1, -1, 379, 380, 381, 382, 383,3166-1, -1, -1, 387, 388, 389, 390, 391, 392, 393,3167394, 395, 396, 397, 398, 399, 400, 401, 402, -1,3168404, 405, 406, 407, 408, 409, 410, 411, 412, 413,3169414, 415, 416, 417, 418, 419, 420, 421, 422, 423,3170424, 425, 426, 427, 428, 429, 430, 431, 432, 433,3171434, 435, 436, 437, 438, 439, 440, 441, 442, 443,3172444, 445, 446, 447, 448, 449, 450, 451, 452, 453,3173454, 455, 456, 457, 458, 459, 460, 461, 462, 463,3174464, 3, 4, 5, 6, 7, 8, 9, 10, 11,317512, 13, 14, 15, 16, 17, 18, 19, 20, 21,317622, 23, 24, 25, 26, 27, 28, 29, 30, 31,317732, 33, 34, 35, 36, 37, 38, 39, 40, 41,317842, 43, 44, 45, 46, 47, 48, 49, 50, 51,317952, 53, 54, 55, 56, 57, 58, 59, 60, 61,318062, 63, 64, 65, 66, 67, 68, 69, 70, 71,318172, 73, 74, 75, 76, 77, 78, 79, 80, 81,318282, 83, 84, 85, 86, 87, 88, 89, 90, 91,318392, 93, 94, 95, 96, 97, 98, 99, 100, 101,3184102, 103, 104, 105, 106, 107, 108, 109, 110, 111,3185112, 113, 114, 115, 116, 117, 118, 119, 120, 121,3186122, 123, 124, 125, 126, 127, 128, 129, 130, 131,3187132, 133, 134, 135, 136, 137, 138, 139, 140, 141,3188142, 143, 144, 145, 146, 147, 148, 149, 150, 151,3189152, 153, 154, 155, 156, 157, 158, 159, 160, 161,3190162, 163, 164, 165, 166, 167, 168, 169, 170, 171,3191172, 173, 174, 175, 176, 177, 178, 179, 180, 181,3192182, 183, 184, 185, 186, 187, 188, 189, 190, 191,3193192, 193, 194, 195, 196, 197, 198, 199, 200, 201,3194202, 203, 204, 205, 206, 207, 208, 209, 210, 211,3195212, 213, 214, 215, 216, 217, 218, 219, 220, 221,3196222, 223, 224, 225, 226, 227, 228, 229, 230, 231,3197232, 233, 234, 235, 236, 237, 238, 239, 240, 241,3198242, 243, 244, 245, 246, 247, 248, 249, 250, 251,3199252, 253, 254, 255, 256, 257, 258, 259, 260, 261,3200262, 263, 264, 265, 266, 267, 268, 269, 270, 271,3201272, 273, 274, 275, 276, 277, 278, 279, 280, 281,3202282, 283, 284, 285, 286, 287, 288, 289, 290, 291,3203292, 293, 294, 295, 296, 297, 298, 299, 300, 301,3204302, 303, 304, 305, 306, 307, 308, 309, 310, 311,3205312, 313, 314, 315, 316, 317, 318, 319, 320, 321,3206322, 323, 324, 325, 326, 327, 328, 329, 330, 331,3207332, -1, -1, 335, 336, -1, -1, -1, -1, -1,3208-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,3209-1, -1, 354, 355, -1, 357, -1, 359, -1, -1,3210-1, -1, -1, 365, 366, 367, 368, 369, -1, -1,3211-1, -1, -1, -1, -1, -1, -1, 379, 380, 381,3212382, 383, -1, -1, -1, 387, 388, 389, 390, 391,3213392, 393, 394, 395, 396, 397, 398, 399, 400, 401,3214402, -1, 404, 405, 406, 407, 408, 409, 410, 411,3215412, 413, 414, 415, 416, 417, 418, 419, 420, 421,3216422, 423, 424, 425, 426, 427, 428, 429, 430, 431,3217432, 433, 434, 435, 436, 437, 438, 439, 440, 441,3218442, 443, 444, 445, 446, 447, 448, 449, 450, 451,3219452, 453, 454, 455, 456, 457, 458, 459, 460, 461,3220462, 463, 464, 3, 4, 5, 6, 7, 8, 9,322110, 11, 12, 13, 14, 15, 16, 17, 18, 19,322220, 21, 22, 23, 24, 25, 26, 27, 28, 29,322330, 31, 32, 33, 34, 35, 36, 37, 38, 39,322440, 41, 42, 43, 44, 45, 46, 47, 48, 49,322550, 51, 52, 53, 54, 55, 56, 57, 58, 59,322660, 61, 62, 63, 64, 65, 66, 67, 68, 69,322770, 71, 72, 73, 74, 75, 76, 77, 78, 79,322880, 81, 82, 83, 84, 85, 86, 87, 88, 89,322990, 91, 92, 93, 94, 95, 96, 97, 98, 99,3230100, 101, 102, 103, 104, 105, 106, 107, 108, 109,3231110, 111, 112, 113, 114, 115, 116, 117, 118, 119,3232120, 121, 122, 123, 124, 125, 126, 127, 128, 129,3233130, 131, 132, 133, 134, 135, 136, 137, 138, 139,3234140, 141, 142, 143, 144, 145, 146, 147, 148, 149,3235150, 151, 152, 153, 154, 155, 156, 157, 158, 159,3236160, 161, 162, 163, 164, 165, 166, 167, 168, 169,3237170, 171, 172, 173, 174, 175, 176, 177, 178, 179,3238180, 181, 182, 183, 184, 185, 186, 187, 188, 189,3239190, 191, 192, 193, 194, 195, 196, 197, 198, 199,3240200, 201, 202, 203, 204, 205, 206, 207, 208, 209,3241210, 211, 212, 213, 214, 215, 216, 217, 218, 219,3242220, 221, 222, 223, 224, 225, 226, 227, 228, 229,3243230, 231, 232, 233, 234, 235, 236, 237, 238, 239,3244240, 241, 242, 243, 244, 245, 246, 247, 248, 249,3245250, 251, 252, 253, 254, 255, 256, 257, 258, 259,3246260, 261, 262, 263, 264, 265, 266, 267, 268, 269,3247270, 271, 272, 273, 274, 275, 276, 277, 278, 279,3248280, 281, 282, 283, 284, 285, 286, 287, 288, 289,3249290, 291, 292, 293, 294, 295, 296, 297, 298, 299,3250300, 301, 302, 303, 304, 305, 306, 307, 308, 309,3251310, 311, 312, 313, 314, 315, 316, 317, 318, 319,3252320, 321, 322, 323, 324, 325, 326, 327, 328, 329,3253330, 331, 332, -1, -1, 335, 336, -1, -1, -1,3254-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,3255-1, -1, -1, -1, 354, 355, -1, 357, -1, 359,3256-1, -1, -1, -1, -1, 365, 366, 367, 368, 369,3257-1, -1, -1, -1, -1, -1, -1, -1, -1, 379,3258380, 381, 382, 383, -1, -1, -1, 387, 388, 389,3259390, 391, 392, 393, 394, 395, 396, 397, 398, 399,3260400, 401, 402, -1, 404, 405, 406, 407, 408, 409,3261410, 411, 412, 413, 414, 415, 416, 417, 418, 419,3262420, 421, 422, 423, 424, 425, 426, 427, 428, 429,3263430, 431, 432, 433, 434, 435, 436, 437, 438, 439,3264440, 441, 442, 443, 444, 445, 446, 447, 448, 449,3265450, 451, 452, 453, 454, 455, 456, 457, 458, 459,3266460, 461, 462, 463, 464, 3, 4, 5, 6, 7,32678, 9, 10, 11, 12, 13, 14, 15, 16, 17,326818, 19, 20, 21, 22, 23, 24, 25, 26, 27,326928, 29, 30, 31, 32, 33, 34, 35, 36, 37,327038, 39, 40, 41, 42, 43, 44, 45, 46, 47,327148, 49, 50, 51, 52, 53, 54, 55, 56, 57,327258, 59, 60, 61, 62, 63, 64, 65, 66, 67,327368, 69, 70, 71, 72, 73, 74, 75, 76, 77,327478, 79, 80, 81, 82, 83, 84, 85, 86, 87,327588, 89, 90, 91, 92, 93, 94, 95, 96, 97,327698, 99, 100, 101, 102, 103, 104, 105, 106, 107,3277108, 109, 110, 111, 112, 113, 114, 115, 116, 117,3278118, 119, 120, 121, 122, 123, 124, 125, 126, 127,3279128, 129, 130, 131, 132, 133, 134, 135, 136, 137,3280138, 139, 140, 141, 142, 143, 144, 145, 146, 147,3281148, 149, 150, 151, 152, 153, 154, 155, 156, 157,3282158, 159, 160, 161, 162, 163, 164, 165, 166, 167,3283168, 169, 170, 171, 172, 173, 174, 175, 176, 177,3284178, 179, 180, 181, 182, 183, 184, 185, 186, 187,3285188, 189, 190, 191, 192, 193, 194, 195, 196, 197,3286198, 199, 200, 201, 202, 203, 204, 205, 206, 207,3287208, 209, 210, 211, 212, 213, 214, 215, 216, 217,3288218, 219, 220, 221, 222, 223, 224, 225, 226, 227,3289228, 229, 230, 231, 232, 233, 234, 235, 236, 237,3290238, 239, 240, 241, 242, 243, 244, 245, 246, 247,3291248, 249, 250, 251, 252, 253, 254, 255, 256, 257,3292258, 259, 260, 261, 262, 263, 264, 265, 266, 267,3293268, 269, 270, 271, 272, 273, 274, 275, 276, 277,3294278, 279, 280, 281, 282, 283, 284, 285, 286, 287,3295288, 289, 290, 291, 292, 293, 294, 295, 296, 297,3296298, 299, 300, 301, 302, 303, 304, 305, 306, 307,3297308, 309, 310, 311, 312, 313, 314, 315, 316, 317,3298318, 319, 320, 321, 322, 323, 324, 325, 326, 327,3299328, 329, 330, 331, 332, -1, -1, 335, 336, -1,3300-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,3301-1, -1, -1, -1, -1, -1, 354, 355, -1, 357,3302-1, -1, -1, -1, -1, -1, -1, 365, 366, 367,3303368, 369, -1, -1, -1, -1, -1, -1, -1, -1,3304-1, 379, 380, 381, 382, 383, -1, -1, -1, 387,3305388, 389, 390, 391, 392, 393, 394, 395, 396, 397,3306398, 399, 400, 401, 402, -1, 404, 405, 406, 407,3307408, 409, 410, 411, 412, 413, 414, 415, 416, 417,3308418, 419, 420, 421, 422, 423, 424, 425, 426, 427,3309428, 429, 430, 431, 432, 433, 434, 435, 436, 437,3310438, 439, 440, 441, 442, 443, 444, 445, 446, 447,3311448, 449, 450, 451, 452, 453, 454, 455, 456, 457,3312458, 459, 460, 461, 462, 463, 464, 3, 4, 5,33136, 7, 8, 9, 10, 11, 12, 13, 14, 15,331416, 17, 18, 19, 20, 21, 22, 23, 24, 25,331526, 27, 28, 29, 30, 31, 32, 33, 34, 35,331636, 37, 38, 39, 40, 41, 42, 43, 44, 45,331746, 47, 48, 49, 50, 51, 52, 53, 54, 55,331856, 57, 58, 59, 60, 61, 62, 63, 64, 65,331966, 67, 68, 69, 70, 71, 72, 73, 74, 75,332076, 77, 78, 79, 80, 81, 82, 83, 84, 85,332186, 87, 88, 89, 90, 91, 92, 93, 94, 95,332296, 97, 98, 99, 100, 101, 102, 103, 104, 105,3323106, 107, 108, 109, 110, 111, 112, 113, 114, 115,3324116, 117, 118, 119, 120, 121, 122, 123, 124, 125,3325126, 127, 128, 129, 130, 131, 132, 133, 134, 135,3326136, 137, 138, 139, 140, 141, 142, 143, 144, 145,3327146, 147, 148, 149, 150, 151, 152, 153, 154, 155,3328156, 157, 158, 159, 160, 161, 162, 163, 164, 165,3329166, 167, 168, 169, 170, 171, 172, 173, 174, 175,3330176, 177, 178, 179, 180, 181, 182, 183, 184, 185,3331186, 187, 188, 189, 190, 191, 192, 193, 194, 195,3332196, 197, 198, 199, 200, 201, 202, 203, 204, 205,3333206, 207, 208, 209, 210, 211, 212, 213, 214, 215,3334216, 217, 218, 219, 220, 221, 222, 223, 224, 225,3335226, 227, 228, 229, 230, 231, 232, 233, 234, 235,3336236, 237, 238, 239, 240, 241, 242, 243, 244, 245,3337246, 247, 248, 249, 250, 251, 252, 253, 254, 255,3338256, 257, 258, 259, 260, 261, 262, 263, 264, 265,3339266, 267, 268, 269, 270, 271, 272, 273, 274, 275,3340276, 277, 278, 279, 280, 281, 282, 283, 284, 285,3341286, 287, 288, 289, 290, 291, 292, 293, 294, 295,3342296, 297, 298, 299, 300, 301, 302, 303, 304, 305,3343306, 307, 308, 309, 310, 311, 312, 313, 314, 315,3344316, 317, 318, 319, 320, 321, 322, 323, 324, 325,3345326, 327, 328, 329, 330, 331, 332, -1, -1, 335,3346336, -1, -1, -1, -1, -1, -1, -1, -1, -1,3347-1, -1, -1, -1, -1, -1, -1, -1, 354, 355,3348-1, 357, -1, -1, -1, -1, -1, -1, -1, 365,3349366, 367, 368, 369, -1, -1, -1, -1, -1, -1,3350-1, -1, -1, 379, 380, 381, 382, 383, -1, -1,3351-1, 387, 388, 389, 390, 391, 392, 393, 394, 395,3352396, 397, 398, -1, -1, -1, -1, -1, -1, -1,3353-1, -1, -1, -1, -1, -1, -1, -1, 414, 415,3354416, 417, 418, 419, 420, 421, 422, 423, 424, 425,3355426, 427, 428, 429, -1, 431, 432, 433, 434, 435,3356436, 437, 438, 439, 440, 441, 442, 443, 444, 445,3357446, 447, 448, 449, 450, 451, 452, 453, 454, 455,3358456, 457, 458, 459, 460, 461, 462, 463, 464, 3,33594, 5, 6, 7, 8, 9, 10, 11, 12, 13,336014, 15, 16, 17, 18, 19, 20, 21, 22, 23,336124, 25, 26, 27, 28, 29, 30, 31, 32, 33,336234, 35, 36, 37, 38, 39, 40, 41, 42, 43,336344, 45, 46, 47, 48, 49, 50, 51, 52, 53,336454, 55, 56, 57, 58, 59, 60, 61, 62, 63,336564, 65, 66, 67, 68, 69, 70, 71, 72, 73,336674, 75, 76, 77, 78, 79, 80, 81, 82, 83,336784, 85, 86, 87, 88, 89, 90, 91, 92, 93,336894, 95, 96, 97, 98, 99, 100, 101, 102, 103,3369104, 105, 106, 107, 108, 109, 110, 111, 112, 113,3370114, 115, 116, 117, 118, 119, 120, 121, 122, 123,3371124, 125, 126, 127, 128, 129, 130, 131, 132, 133,3372134, 135, 136, 137, 138, 139, 140, 141, 142, 143,3373144, 145, 146, 147, 148, 149, 150, 151, 152, 153,3374154, 155, 156, 157, 158, 159, 160, 161, 162, 163,3375164, 165, 166, 167, 168, 169, 170, 171, 172, 173,3376174, 175, 176, 177, 178, 179, 180, 181, 182, 183,3377184, 185, 186, 187, 188, 189, 190, 191, 192, 193,3378194, 195, 196, 197, 198, 199, 200, 201, 202, 203,3379204, 205, 206, 207, 208, 209, 210, 211, 212, 213,3380214, 215, 216, 217, 218, 219, 220, 221, 222, 223,3381224, 225, 226, 227, 228, 229, 230, 231, 232, 233,3382234, 235, 236, 237, 238, 239, 240, 241, 242, 243,3383244, 245, 246, 247, 248, 249, 250, 251, 252, 253,3384254, 255, 256, 257, 258, 259, 260, 261, 262, 263,3385264, 265, 266, 267, 268, 269, 270, 271, 272, 273,3386274, 275, 276, 277, 278, 279, 280, 281, 282, 283,3387284, 285, 286, 287, 288, 289, 290, 291, 292, 293,3388294, 295, 296, 297, 298, 299, 300, 301, 302, 303,3389304, 305, 306, 307, 308, 309, 310, 311, 312, 313,3390314, 315, 316, 317, 318, 319, -1, -1, -1, 323,3391324, 325, 326, 327, 328, 329, 330, 331, 332, -1,3392-1, 335, 336, -1, -1, -1, -1, -1, -1, -1,3393-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,3394354, 355, -1, -1, -1, -1, -1, -1, -1, -1,3395-1, -1, 366, 367, 368, 369, -1, -1, -1, -1,3396-1, -1, -1, -1, -1, 379, 380, 381, 382, -1,3397-1, -1, -1, 387, 388, 389, 390, 391, 392, 393,3398394, 395, 396, 397, 398, -1, -1, -1, -1, -1,3399-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,3400414, 415, 416, 417, 418, 419, 420, 421, 422, 423,3401424, 425, 426, 427, 428, 429, -1, 431, 432, 433,3402434, 435, 436, 437, 438, 439, 440, 441, 442, 443,3403444, 445, 446, 447, 448, 449, 450, 451, 452, 453,3404454, 455, 456, 457, 458, 459, 460, 461, 462, 463,3405464, 3, 4, 5, 6, 7, 8, 9, 10, 11,340612, 13, 14, 15, 16, 17, 18, 19, 20, 21,340722, 23, 24, 25, 26, 27, 28, 29, 30, 31,340832, 33, 34, 35, 36, 37, 38, 39, 40, 41,340942, 43, 44, 45, 46, 47, 48, 49, 50, 51,341052, 53, 54, 55, 56, 57, 58, 59, 60, 61,341162, 63, 64, 65, 66, 67, 68, 69, 70, 71,341272, 73, 74, 75, 76, 77, 78, 79, 80, 81,341382, 83, 84, 85, 86, 87, 88, 89, 90, 91,341492, 93, 94, 95, 96, 97, 98, 99, 100, 101,3415102, 103, 104, 105, 106, 107, 108, 109, 110, 111,3416112, 113, 114, 115, 116, 117, 118, 119, 120, 121,3417122, 123, 124, 125, 126, 127, 128, 129, 130, 131,3418132, 133, 134, 135, 136, 137, 138, 139, 140, 141,3419142, 143, 144, 145, 146, 147, 148, 149, 150, 151,3420152, 153, 154, 155, 156, 157, 158, 159, 160, 161,3421162, 163, 164, 165, 166, 167, 168, 169, 170, 171,3422172, 173, 174, 175, 176, 177, 178, 179, 180, 181,3423182, 183, 184, 185, 186, 187, 188, 189, 190, 191,3424192, 193, 194, 195, 196, 197, 198, 199, 200, 201,3425202, 203, 204, 205, 206, 207, 208, 209, 210, 211,3426212, 213, 214, 215, 216, 217, 218, 219, 220, 221,3427222, 223, 224, 225, 226, 227, 228, 229, 230, 231,3428232, 233, 234, 235, 236, 237, 238, 239, 240, 241,3429242, 243, 244, 245, 246, 247, 248, 249, 250, 251,3430252, 253, 254, 255, 256, 257, 258, 259, 260, 261,3431262, 263, 264, 265, 266, 267, 268, 269, 270, 271,3432272, 273, 274, 275, 276, 277, 278, 279, 280, 281,3433282, 283, 284, 285, 286, 287, 288, 289, 290, 291,3434292, 293, 294, 295, 296, 297, 298, 299, 300, 301,3435302, 303, 304, 305, 306, 307, 308, 309, 310, 311,3436312, 313, 314, 315, 316, 317, 318, 319, 320, 321,3437322, 323, 324, 325, 326, 327, 328, 329, 330, 331,3438332, -1, -1, -1, -1, -1, -1, -1, -1, -1,3439-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,3440-1, -1, -1, -1, -1, 357, -1, -1, -1, -1,3441-1, -1, -1, 365, -1, -1, -1, -1, -1, -1,3442-1, -1, -1, -1, -1, -1, -1, 379, 380, 381,3443382, 383, -1, -1, -1, -1, -1, -1, -1, -1,3444392, 393, 394, 395, 396, 397, 398, -1, -1, -1,3445-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,3446-1, -1, 414, 415, 416, 417, 418, 419, 420, -1,3447-1, -1, -1, -1, -1, -1, -1, 429, -1, 431,3448432, 433, 434, 435, 436, 437, 438, 439, 440, 441,3449442, 443, 444, 445, 446, 447, 448, 449, 450, 451,3450452, 453, 454, 455, 456, 457, 458, 459, 460, 461,3451462, 463, 464, 3, 4, 5, 6, 7, 8, 9,345210, 11, 12, 13, 14, 15, 16, 17, 18, 19,345320, 21, 22, 23, 24, 25, 26, 27, 28, 29,345430, 31, 32, 33, 34, 35, 36, 37, 38, 39,345540, 41, 42, 43, 44, 45, 46, 47, 48, 49,345650, 51, 52, 53, 54, 55, 56, 57, 58, 59,345760, 61, 62, 63, 64, 65, 66, 67, 68, 69,345870, 71, 72, 73, 74, 75, 76, 77, 78, 79,345980, 81, 82, 83, 84, 85, 86, 87, 88, 89,346090, 91, 92, 93, 94, 95, 96, 97, 98, 99,3461100, 101, 102, 103, 104, 105, 106, 107, 108, 109,3462110, 111, 112, 113, 114, 115, 116, 117, 118, 119,3463120, 121, 122, 123, 124, 125, 126, 127, 128, 129,3464130, 131, 132, 133, 134, 135, 136, 137, 138, 139,3465140, 141, 142, 143, 144, 145, 146, 147, 148, 149,3466150, 151, 152, 153, 154, 155, 156, 157, 158, 159,3467160, 161, 162, 163, 164, 165, 166, 167, 168, 169,3468170, 171, 172, 173, 174, 175, 176, 177, 178, 179,3469180, 181, 182, 183, 184, 185, 186, 187, 188, 189,3470190, 191, 192, 193, 194, 195, 196, 197, 198, 199,3471200, 201, 202, 203, 204, 205, 206, 207, 208, 209,3472210, 211, 212, 213, 214, 215, 216, 217, 218, 219,3473220, 221, 222, 223, 224, 225, 226, 227, 228, 229,3474230, 231, 232, 233, 234, 235, 236, 237, 238, 239,3475240, 241, 242, 243, 244, 245, 246, 247, 248, 249,3476250, 251, 252, 253, 254, 255, 256, 257, 258, 259,3477260, 261, 262, 263, 264, 265, 266, 267, 268, 269,3478270, 271, 272, 273, 274, 275, 276, 277, 278, 279,3479280, 281, 282, 283, 284, 285, 286, 287, 288, 289,3480290, 291, 292, 293, 294, 295, 296, 297, 298, 299,3481300, 301, 302, 303, 304, 305, 306, 307, 308, 309,3482310, 311, 312, 313, 314, 315, 316, 317, 318, 319,3483-1, -1, -1, 323, 324, 325, 326, 327, 328, 329,3484330, 331, 332, -1, -1, -1, -1, -1, -1, -1,3485-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,3486-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,3487-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,3488-1, -1, -1, -1, -1, -1, -1, -1, -1, 379,3489380, 381, 382, -1, -1, -1, -1, -1, -1, -1,3490-1, -1, 392, 393, 394, 395, 396, 397, 398, 399,3491-1, -1, 402, -1, 404, 405, -1, -1, 408, -1,3492-1, -1, -1, -1, 414, 415, 416, 417, 418, 419,3493420, -1, -1, -1, -1, -1, -1, -1, -1, 429,3494-1, 431, 432, 433, 434, 435, 436, 437, 438, 439,3495440, 441, 442, 443, 444, 445, 446, 447, 448, 449,3496450, 451, 452, 453, 454, 455, 456, 457, 458, 459,3497460, 461, 462, 463, 464, 3, 4, 5, 6, 7,34988, 9, 10, 11, 12, 13, 14, 15, 16, 17,349918, 19, 20, 21, 22, 23, 24, 25, 26, 27,350028, 29, 30, 31, 32, 33, 34, 35, 36, 37,350138, 39, 40, 41, 42, 43, 44, 45, 46, 47,350248, 49, 50, 51, 52, 53, 54, 55, 56, 57,350358, 59, 60, 61, 62, 63, 64, 65, 66, 67,350468, 69, 70, 71, 72, 73, 74, 75, 76, 77,350578, 79, 80, 81, 82, 83, 84, 85, 86, 87,350688, 89, 90, 91, 92, 93, 94, 95, 96, 97,350798, 99, 100, 101, 102, 103, 104, 105, 106, 107,3508108, 109, 110, 111, 112, 113, 114, 115, 116, 117,3509118, 119, 120, 121, 122, 123, 124, 125, 126, 127,3510128, 129, 130, 131, 132, 133, 134, 135, 136, 137,3511138, 139, 140, 141, 142, 143, 144, 145, 146, 147,3512148, 149, 150, 151, 152, 153, 154, 155, 156, 157,3513158, 159, 160, 161, 162, 163, 164, 165, 166, 167,3514168, 169, 170, 171, 172, 173, 174, 175, 176, 177,3515178, 179, 180, 181, 182, 183, 184, 185, 186, 187,3516188, 189, 190, 191, 192, 193, 194, 195, 196, 197,3517198, 199, 200, 201, 202, 203, 204, 205, 206, 207,3518208, 209, 210, 211, 212, 213, 214, 215, 216, 217,3519218, 219, 220, 221, 222, 223, 224, 225, 226, 227,3520228, 229, 230, 231, 232, 233, 234, 235, 236, 237,3521238, 239, 240, 241, 242, 243, 244, 245, 246, 247,3522248, 249, 250, 251, 252, 253, 254, 255, 256, 257,3523258, 259, 260, 261, 262, 263, 264, 265, 266, 267,3524268, 269, 270, 271, 272, 273, 274, 275, 276, 277,3525278, 279, 280, 281, 282, 283, 284, 285, 286, 287,3526288, 289, 290, 291, 292, 293, 294, 295, 296, 297,3527298, 299, 300, 301, 302, 303, 304, 305, 306, 307,3528308, 309, 310, 311, 312, 313, 314, 315, 316, 317,3529318, 319, -1, -1, -1, 323, 324, 325, 326, 327,3530328, 329, 330, 331, 332, -1, -1, -1, -1, -1,3531-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,3532-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,3533-1, -1, -1, -1, -1, -1, -1, 365, -1, -1,3534-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,3535-1, 379, 380, 381, 382, -1, -1, -1, -1, -1,3536-1, -1, -1, 391, 392, 393, 394, 395, 396, 397,3537398, -1, -1, -1, -1, -1, -1, -1, -1, -1,3538-1, -1, -1, -1, -1, -1, 414, 415, 416, 417,3539418, 419, 420, -1, -1, -1, -1, -1, -1, -1,3540-1, 429, -1, 431, 432, 433, 434, 435, 436, 437,3541438, 439, 440, 441, 442, 443, 444, 445, 446, 447,3542448, 449, 450, 451, 452, 453, 454, 455, 456, 457,3543458, 459, 460, 461, 462, 463, 464, 3, 4, 5,35446, 7, 8, 9, 10, 11, 12, 13, 14, 15,354516, 17, 18, 19, 20, 21, 22, 23, 24, 25,354626, 27, 28, 29, 30, 31, 32, 33, 34, 35,354736, 37, 38, 39, 40, 41, 42, 43, 44, 45,354846, 47, 48, 49, 50, 51, 52, 53, 54, 55,354956, 57, 58, 59, 60, 61, 62, 63, 64, 65,355066, 67, 68, 69, 70, 71, 72, 73, 74, 75,355176, 77, 78, 79, 80, 81, 82, 83, 84, 85,355286, 87, 88, 89, 90, 91, 92, 93, 94, 95,355396, 97, 98, 99, 100, 101, 102, 103, 104, 105,3554106, 107, 108, 109, 110, 111, 112, 113, 114, 115,3555116, 117, 118, 119, 120, 121, 122, 123, 124, 125,3556126, 127, 128, 129, 130, 131, 132, 133, 134, 135,3557136, 137, 138, 139, 140, 141, 142, 143, 144, 145,3558146, 147, 148, 149, 150, 151, 152, 153, 154, 155,3559156, 157, 158, 159, 160, 161, 162, 163, 164, 165,3560166, 167, 168, 169, 170, 171, 172, 173, 174, 175,3561176, 177, 178, 179, 180, 181, 182, 183, 184, 185,3562186, 187, 188, 189, 190, 191, 192, 193, 194, 195,3563196, 197, 198, 199, 200, 201, 202, 203, 204, 205,3564206, 207, 208, 209, 210, 211, 212, 213, 214, 215,3565216, 217, 218, 219, 220, 221, 222, 223, 224, 225,3566226, 227, 228, 229, 230, 231, 232, 233, 234, 235,3567236, 237, 238, 239, 240, 241, 242, 243, 244, 245,3568246, 247, 248, 249, 250, 251, 252, 253, 254, 255,3569256, 257, 258, 259, 260, 261, 262, 263, 264, 265,3570266, 267, 268, 269, 270, 271, 272, 273, 274, 275,3571276, 277, 278, 279, 280, 281, 282, 283, 284, 285,3572286, 287, 288, 289, 290, 291, 292, 293, 294, 295,3573296, 297, 298, 299, 300, 301, 302, 303, 304, 305,3574306, 307, 308, 309, 310, 311, 312, 313, 314, 315,3575316, 317, 318, 319, -1, -1, -1, 323, 324, 325,3576326, 327, 328, 329, 330, 331, 332, -1, -1, -1,3577-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,3578-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,3579-1, 357, -1, -1, -1, -1, -1, -1, -1, -1,3580-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,3581-1, -1, -1, 379, 380, 381, 382, -1, -1, -1,3582-1, -1, -1, -1, -1, -1, 392, 393, 394, 395,3583396, 397, 398, -1, -1, -1, -1, -1, -1, -1,3584-1, -1, -1, -1, -1, -1, -1, -1, 414, 415,3585416, 417, 418, 419, 420, -1, -1, -1, -1, -1,3586-1, -1, -1, 429, -1, 431, 432, 433, 434, 435,3587436, 437, 438, 439, 440, 441, 442, 443, 444, 445,3588446, 447, 448, 449, 450, 451, 452, 453, 454, 455,3589456, 457, 458, 459, 460, 461, 462, 463, 464, 3,35904, 5, 6, 7, 8, 9, 10, 11, 12, 13,359114, 15, 16, 17, 18, 19, 20, 21, 22, 23,359224, 25, 26, 27, 28, 29, 30, 31, 32, 33,359334, 35, 36, 37, 38, 39, 40, 41, 42, 43,359444, 45, 46, 47, 48, 49, 50, 51, 52, 53,359554, 55, 56, 57, 58, 59, 60, 61, 62, 63,359664, 65, 66, 67, 68, 69, 70, 71, 72, 73,359774, 75, 76, 77, 78, 79, 80, 81, 82, 83,359884, 85, 86, 87, 88, 89, 90, 91, 92, 93,359994, 95, 96, 97, 98, 99, 100, 101, 102, 103,3600104, 105, 106, 107, 108, 109, 110, 111, 112, 113,3601114, 115, 116, 117, 118, 119, 120, 121, 122, 123,3602124, 125, 126, 127, 128, 129, 130, 131, 132, 133,3603134, 135, 136, 137, 138, 139, 140, 141, 142, 143,3604144, 145, 146, 147, 148, 149, 150, 151, 152, 153,3605154, 155, 156, 157, 158, 159, 160, 161, 162, 163,3606164, 165, 166, 167, 168, 169, 170, 171, 172, 173,3607174, 175, 176, 177, 178, 179, 180, 181, 182, 183,3608184, 185, 186, 187, 188, 189, 190, 191, 192, 193,3609194, 195, 196, 197, 198, 199, 200, 201, 202, 203,3610204, 205, 206, 207, 208, 209, 210, 211, 212, 213,3611214, 215, 216, 217, 218, 219, 220, 221, 222, 223,3612224, 225, 226, 227, 228, 229, 230, 231, 232, 233,3613234, 235, 236, 237, 238, 239, 240, 241, 242, 243,3614244, 245, 246, 247, 248, 249, 250, 251, 252, 253,3615254, 255, 256, 257, 258, 259, 260, 261, 262, 263,3616264, 265, 266, 267, 268, 269, 270, 271, 272, 273,3617274, 275, 276, 277, 278, 279, 280, 281, 282, 283,3618284, 285, 286, 287, 288, 289, 290, 291, 292, 293,3619294, 295, 296, 297, 298, 299, 300, 301, 302, 303,3620304, 305, 306, 307, 308, 309, 310, 311, 312, 313,3621314, 315, 316, 317, 318, 319, -1, -1, -1, 323,3622324, 325, 326, 327, 328, 329, 330, 331, 332, -1,3623-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,3624-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,3625-1, -1, -1, -1, -1, -1, 360, -1, -1, -1,3626-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,3627-1, -1, -1, -1, -1, 379, 380, 381, 382, -1,3628-1, -1, -1, -1, -1, -1, -1, -1, 392, 393,3629394, 395, 396, 397, 398, -1, -1, -1, -1, -1,3630-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,3631414, 415, 416, 417, 418, 419, 420, -1, -1, -1,3632-1, -1, -1, -1, -1, 429, -1, 431, 432, 433,3633434, 435, 436, 437, 438, 439, 440, 441, 442, 443,3634444, 445, 446, 447, 448, 449, 450, 451, 452, 453,3635454, 455, 456, 457, 458, 459, 460, 461, 462, 463,3636464, 3, 4, 5, 6, 7, 8, 9, 10, 11,363712, 13, 14, 15, 16, 17, 18, 19, 20, 21,363822, 23, 24, 25, 26, 27, 28, 29, 30, 31,363932, 33, 34, 35, 36, 37, 38, 39, 40, 41,364042, 43, 44, 45, 46, 47, 48, 49, 50, 51,364152, 53, 54, 55, 56, 57, 58, 59, 60, 61,364262, 63, 64, 65, 66, 67, 68, 69, 70, 71,364372, 73, 74, 75, 76, 77, 78, 79, 80, 81,364482, 83, 84, 85, 86, 87, 88, 89, 90, 91,364592, 93, 94, 95, 96, 97, 98, 99, 100, 101,3646102, 103, 104, 105, 106, 107, 108, 109, 110, 111,3647112, 113, 114, 115, 116, 117, 118, 119, 120, 121,3648122, 123, 124, 125, 126, 127, 128, 129, 130, 131,3649132, 133, 134, 135, 136, 137, 138, 139, 140, 141,3650142, 143, 144, 145, 146, 147, 148, 149, 150, 151,3651152, 153, 154, 155, 156, 157, 158, 159, 160, 161,3652162, 163, 164, 165, 166, 167, 168, 169, 170, 171,3653172, 173, 174, 175, 176, 177, 178, 179, 180, 181,3654182, 183, 184, 185, 186, 187, 188, 189, 190, 191,3655192, 193, 194, 195, 196, 197, 198, 199, 200, 201,3656202, 203, 204, 205, 206, 207, 208, 209, 210, 211,3657212, 213, 214, 215, 216, 217, 218, 219, 220, 221,3658222, 223, 224, 225, 226, 227, 228, 229, 230, 231,3659232, 233, 234, 235, 236, 237, 238, 239, 240, 241,3660242, 243, 244, 245, 246, 247, 248, 249, 250, 251,3661252, 253, 254, 255, 256, 257, 258, 259, 260, 261,3662262, 263, 264, 265, 266, 267, 268, 269, 270, 271,3663272, 273, 274, 275, 276, 277, 278, 279, 280, 281,3664282, 283, 284, 285, 286, 287, 288, 289, 290, 291,3665292, 293, 294, 295, 296, 297, 298, 299, 300, 301,3666302, 303, 304, 305, 306, 307, 308, 309, 310, 311,3667312, 313, 314, 315, 316, 317, 318, 319, -1, -1,3668-1, 323, 324, 325, 326, 327, 328, 329, 330, 331,3669332, -1, -1, -1, -1, -1, -1, -1, -1, -1,3670-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,3671-1, -1, -1, -1, -1, -1, -1, -1, 360, -1,3672-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,3673-1, -1, -1, -1, -1, -1, -1, 379, 380, 381,3674382, -1, -1, -1, -1, -1, -1, -1, -1, -1,3675392, 393, 394, 395, 396, 397, 398, -1, -1, -1,3676-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,3677-1, -1, 414, 415, 416, 417, 418, 419, 420, -1,3678-1, -1, -1, -1, -1, -1, -1, 429, -1, 431,3679432, 433, 434, 435, 436, 437, 438, 439, 440, 441,3680442, 443, 444, 445, 446, 447, 448, 449, 450, 451,3681452, 453, 454, 455, 456, 457, 458, 459, 460, 461,3682462, 463, 464, 3, 4, 5, 6, 7, 8, 9,368310, 11, 12, 13, 14, 15, 16, 17, 18, 19,368420, 21, 22, 23, 24, 25, 26, 27, 28, 29,368530, 31, 32, 33, 34, 35, 36, 37, 38, 39,368640, 41, 42, 43, 44, 45, 46, 47, 48, 49,368750, 51, 52, 53, 54, 55, 56, 57, 58, 59,368860, 61, 62, 63, 64, 65, 66, 67, 68, 69,368970, 71, 72, 73, 74, 75, 76, 77, 78, 79,369080, 81, 82, 83, 84, 85, 86, 87, 88, 89,369190, 91, 92, 93, 94, 95, 96, 97, 98, 99,3692100, 101, 102, 103, 104, 105, 106, 107, 108, 109,3693110, 111, 112, 113, 114, 115, 116, 117, 118, 119,3694120, 121, 122, 123, 124, 125, 126, 127, 128, 129,3695130, 131, 132, 133, 134, 135, 136, 137, 138, 139,3696140, 141, 142, 143, 144, 145, 146, 147, 148, 149,3697150, 151, 152, 153, 154, 155, 156, 157, 158, 159,3698160, 161, 162, 163, 164, 165, 166, 167, 168, 169,3699170, 171, 172, 173, 174, 175, 176, 177, 178, 179,3700180, 181, 182, 183, 184, 185, 186, 187, 188, 189,3701190, 191, 192, 193, 194, 195, 196, 197, 198, 199,3702200, 201, 202, 203, 204, 205, 206, 207, 208, 209,3703210, 211, 212, 213, 214, 215, 216, 217, 218, 219,3704220, 221, 222, 223, 224, 225, 226, 227, 228, 229,3705230, 231, 232, 233, 234, 235, 236, 237, 238, 239,3706240, 241, 242, 243, 244, 245, 246, 247, 248, 249,3707250, 251, 252, 253, 254, 255, 256, 257, 258, 259,3708260, 261, 262, 263, 264, 265, 266, 267, 268, 269,3709270, 271, 272, 273, 274, 275, 276, 277, 278, 279,3710280, 281, 282, 283, 284, 285, 286, 287, 288, 289,3711290, 291, 292, 293, 294, 295, 296, 297, 298, 299,3712300, 301, 302, 303, 304, 305, 306, 307, 308, 309,3713310, 311, 312, 313, 314, 315, 316, 317, 318, 319,3714-1, -1, -1, 323, 324, 325, 326, 327, 328, 329,3715330, 331, 332, -1, -1, -1, -1, -1, -1, -1,3716-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,3717-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,3718360, -1, -1, -1, -1, -1, -1, -1, -1, -1,3719-1, -1, -1, -1, -1, -1, -1, -1, -1, 379,3720380, 381, 382, -1, -1, -1, -1, -1, -1, -1,3721-1, -1, 392, 393, 394, 395, 396, 397, 398, -1,3722-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,3723-1, -1, -1, -1, 414, 415, 416, 417, 418, 419,3724420, -1, -1, -1, -1, -1, -1, -1, -1, 429,3725-1, 431, 432, 433, 434, 435, 436, 437, 438, 439,3726440, 441, 442, 443, 444, 445, 446, 447, 448, 449,3727450, 451, 452, 453, 454, 455, 456, 457, 458, 459,3728460, 461, 462, 463, 464, 3, 4, 5, 6, 7,37298, 9, 10, 11, 12, 13, 14, 15, 16, 17,373018, 19, 20, 21, 22, 23, 24, 25, 26, 27,373128, 29, 30, 31, 32, 33, 34, 35, 36, 37,373238, 39, 40, 41, 42, 43, 44, 45, 46, 47,373348, 49, 50, 51, 52, 53, 54, 55, 56, 57,373458, 59, 60, 61, 62, 63, 64, 65, 66, 67,373568, 69, 70, 71, 72, 73, 74, 75, 76, 77,373678, 79, 80, 81, 82, 83, 84, 85, 86, 87,373788, 89, 90, 91, 92, 93, 94, 95, 96, 97,373898, 99, 100, 101, 102, 103, 104, 105, 106, 107,3739108, 109, 110, 111, 112, 113, 114, 115, 116, 117,3740118, 119, 120, 121, 122, 123, 124, 125, 126, 127,3741128, 129, 130, 131, 132, 133, 134, 135, 136, 137,3742138, 139, 140, 141, 142, 143, 144, 145, 146, 147,3743148, 149, 150, 151, 152, 153, 154, 155, 156, 157,3744158, 159, 160, 161, 162, 163, 164, 165, 166, 167,3745168, 169, 170, 171, 172, 173, 174, 175, 176, 177,3746178, 179, 180, 181, 182, 183, 184, 185, 186, 187,3747188, 189, 190, 191, 192, 193, 194, 195, 196, 197,3748198, 199, 200, 201, 202, 203, 204, 205, 206, 207,3749208, 209, 210, 211, 212, 213, 214, 215, 216, 217,3750218, 219, 220, 221, 222, 223, 224, 225, 226, 227,3751228, 229, 230, 231, 232, 233, 234, 235, 236, 237,3752238, 239, 240, 241, 242, 243, 244, 245, 246, 247,3753248, 249, 250, 251, 252, 253, 254, 255, 256, 257,3754258, 259, 260, 261, 262, 263, 264, 265, 266, 267,3755268, 269, 270, 271, 272, 273, 274, 275, 276, 277,3756278, 279, 280, 281, 282, 283, 284, 285, 286, 287,3757288, 289, 290, 291, 292, 293, 294, 295, 296, 297,3758298, 299, 300, 301, 302, 303, 304, 305, 306, 307,3759308, 309, 310, 311, 312, 313, 314, 315, 316, 317,3760318, 319, -1, -1, -1, 323, 324, 325, 326, 327,3761328, 329, 330, 331, 332, -1, -1, -1, -1, -1,3762-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,3763-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,3764-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,3765-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,3766-1, 379, 380, 381, 382, -1, -1, -1, -1, -1,3767-1, -1, -1, -1, 392, 393, 394, 395, 396, 397,3768398, -1, -1, -1, -1, -1, -1, -1, -1, -1,3769-1, -1, -1, -1, -1, -1, 414, 415, 416, 417,3770418, 419, 420, -1, -1, -1, -1, -1, -1, -1,3771-1, 429, -1, 431, 432, 433, 434, 435, 436, 437,3772438, 439, 440, 441, 442, 443, 444, 445, 446, 447,3773448, 449, 450, 451, 452, 453, 454, 455, 456, 457,3774458, 459, 460, 461, 462, 463, 464, 4, 5, 6,37757, 8, 9, 10, 11, 12, 13, 14, 15, 16,377617, 18, 19, 20, 21, 22, 23, 24, 25, 26,377727, 28, 29, 30, 31, 32, 33, 34, 35, 36,377837, 38, 39, 40, 41, 42, 43, 44, 45, 46,377947, 48, 49, 50, 51, 52, 53, 54, 55, 56,378057, 58, 59, 60, -1, -1, 63, 64, 65, 66,378167, 68, 69, 70, 71, 72, 73, 74, 75, 76,378277, 78, 79, 80, 81, 82, 83, 84, 85, 86,378387, 88, 89, 90, 91, 92, 93, 94, 95, 96,378497, 98, 99, 100, 101, 102, 103, 104, 105, 106,3785107, 108, 109, 110, 111, 112, 113, 114, 115, 116,3786117, 118, 119, 120, 121, 122, 123, 124, 125, 126,3787127, 128, 129, 130, 131, 132, 133, 134, 135, 136,3788137, 138, 139, 140, 141, 142, 143, 144, 145, 146,3789147, 148, 149, 150, 151, 152, 153, 154, 155, 156,3790157, 158, 159, 160, 161, 162, 163, 164, 165, 166,3791167, -1, 169, 170, 171, 172, 173, 174, 175, 176,3792177, 178, 179, 180, 181, 182, 183, 184, 185, 186,3793187, 188, 189, 190, 191, 192, 193, 194, 195, 196,3794197, 198, 199, 200, 201, 202, 203, 204, 205, 206,3795207, 208, 209, 210, 211, 212, 213, 214, 215, 216,3796217, 218, 219, 220, 221, 222, 223, 224, 225, 226,3797227, 228, 229, 230, 231, 232, 233, 234, 235, 236,3798237, 238, 239, 240, 241, 242, 243, 244, 245, 246,3799247, 248, 249, 250, 251, 252, 253, 254, 255, 256,3800257, 258, 259, 260, 261, 262, 263, 264, 265, 266,3801267, 268, 269, 270, 271, 272, 273, 274, 275, 276,3802277, 278, 279, 280, 281, 282, 283, 284, 285, 286,3803287, 288, 289, 290, 291, 292, 293, 294, 295, 296,3804297, 298, 299, 300, 301, 302, 303, 304, 305, 306,3805307, 308, 309, 310, 311, 312, 313, 314, 315, 316,3806317, 318, 319, -1, -1, -1, -1, -1, -1, 326,3807-1, -1, -1, 330, 331, 332, -1, -1, 335, 336,3808-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,3809-1, -1, -1, -1, -1, -1, -1, 354, 355, -1,3810-1, -1, 359, 360, -1, -1, -1, -1, -1, 366,3811367, 368, 369, -1, -1, -1, -1, -1, -1, -1,3812-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,3813387, 388, 389, 390, 391, 392, -1, -1, -1, -1,3814397, 398, -1, -1, -1, -1, -1, -1, -1, -1,3815-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,3816-1, -1, -1, -1, 421, 422, 423, 424, 425, 426,3817427, 428, -1, -1, -1, -1, -1, -1, -1, -1,3818-1, -1, -1, -1, -1, -1, 443, 4, 5, 6,38197, 8, 9, 10, 11, 12, 13, 14, 15, 16,382017, 18, 19, 20, 21, 22, 23, 24, 25, 26,382127, 28, 29, 30, 31, 32, 33, 34, 35, 36,382237, 38, 39, 40, 41, 42, 43, 44, 45, 46,382347, 48, 49, 50, 51, 52, 53, 54, 55, 56,382457, 58, 59, 60, -1, -1, 63, 64, 65, 66,382567, 68, 69, 70, 71, 72, 73, 74, 75, 76,382677, 78, 79, 80, 81, 82, 83, 84, 85, 86,382787, 88, 89, 90, 91, 92, 93, 94, 95, 96,382897, 98, 99, 100, 101, 102, 103, 104, 105, 106,3829107, 108, 109, 110, 111, 112, 113, 114, 115, 116,3830117, 118, 119, 120, 121, 122, 123, 124, 125, 126,3831127, 128, 129, 130, 131, 132, 133, 134, 135, 136,3832137, 138, 139, 140, 141, 142, 143, 144, 145, 146,3833147, 148, 149, 150, 151, 152, 153, 154, 155, 156,3834157, 158, 159, 160, 161, 162, 163, 164, 165, 166,3835167, -1, 169, 170, 171, 172, 173, 174, 175, 176,3836177, 178, 179, 180, 181, 182, 183, 184, 185, 186,3837187, 188, 189, 190, 191, 192, 193, 194, 195, 196,3838197, 198, 199, 200, 201, 202, 203, 204, 205, 206,3839207, 208, 209, 210, 211, 212, 213, 214, 215, 216,3840217, 218, 219, 220, 221, 222, 223, 224, 225, 226,3841227, 228, 229, 230, 231, 232, 233, 234, 235, 236,3842237, 238, 239, 240, 241, 242, 243, 244, 245, 246,3843247, 248, 249, 250, 251, 252, 253, 254, 255, 256,3844257, 258, 259, 260, 261, 262, 263, 264, 265, 266,3845267, 268, 269, 270, 271, 272, 273, 274, 275, 276,3846277, 278, 279, 280, 281, 282, 283, 284, 285, 286,3847287, 288, 289, 290, 291, 292, 293, 294, 295, 296,3848297, 298, 299, 300, 301, 302, 303, 304, 305, 306,3849307, 308, 309, 310, 311, 312, 313, 314, 315, 316,3850317, 318, 319, -1, -1, -1, -1, -1, -1, 326,3851-1, -1, -1, 330, 331, 332, -1, -1, 335, 336,3852-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,3853-1, -1, -1, -1, -1, -1, -1, 354, 355, -1,3854-1, -1, 359, 360, -1, -1, -1, -1, -1, 366,3855367, 368, 369, -1, -1, -1, -1, -1, -1, -1,3856-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,3857387, 388, 389, 390, 391, 392, -1, -1, -1, -1,3858397, 398, -1, -1, -1, -1, -1, -1, -1, -1,3859-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,3860-1, -1, -1, -1, 421, 422, 423, 424, 425, 426,3861427, 428, -1, -1, -1, -1, -1, -1, -1, -1,3862-1, -1, -1, -1, -1, -1, 443, 4, 5, 6,38637, 8, 9, 10, 11, 12, 13, 14, 15, 16,386417, 18, 19, 20, 21, 22, 23, 24, 25, 26,386527, 28, 29, 30, 31, 32, 33, 34, 35, 36,386637, 38, 39, 40, 41, 42, 43, 44, 45, 46,386747, 48, 49, 50, 51, 52, 53, 54, 55, 56,386857, 58, 59, 60, -1, -1, 63, 64, 65, 66,386967, 68, 69, 70, 71, 72, 73, 74, 75, 76,387077, 78, 79, 80, 81, 82, 83, 84, 85, 86,387187, 88, 89, 90, 91, 92, 93, 94, 95, 96,387297, 98, 99, 100, 101, 102, 103, 104, 105, 106,3873107, 108, 109, 110, 111, 112, 113, 114, 115, 116,3874117, 118, 119, 120, 121, 122, 123, 124, 125, 126,3875127, 128, 129, 130, 131, 132, 133, 134, 135, 136,3876137, 138, 139, 140, 141, 142, 143, 144, 145, 146,3877147, 148, 149, 150, 151, 152, 153, 154, 155, 156,3878157, 158, 159, 160, 161, 162, 163, 164, 165, 166,3879167, -1, 169, 170, 171, 172, 173, 174, 175, 176,3880177, 178, 179, 180, 181, 182, 183, 184, 185, 186,3881187, 188, 189, 190, 191, 192, 193, 194, 195, 196,3882197, 198, 199, 200, 201, 202, 203, 204, 205, 206,3883207, 208, 209, 210, 211, 212, 213, 214, 215, 216,3884217, 218, 219, 220, 221, 222, 223, 224, 225, 226,3885227, 228, 229, 230, 231, 232, 233, 234, 235, 236,3886237, 238, 239, 240, 241, 242, 243, 244, 245, 246,3887247, 248, 249, 250, 251, 252, 253, 254, 255, 256,3888257, 258, 259, 260, 261, 262, 263, 264, 265, 266,3889267, 268, 269, 270, 271, 272, 273, 274, 275, 276,3890277, 278, 279, 280, 281, 282, 283, 284, 285, 286,3891287, 288, 289, 290, 291, 292, 293, 294, 295, 296,3892297, 298, 299, 300, 301, 302, 303, 304, 305, 306,3893307, 308, 309, 310, 311, 312, 313, 314, 315, 316,3894317, 318, 319, -1, -1, -1, -1, -1, -1, 326,3895-1, -1, -1, 330, 331, 332, -1, -1, 335, 336,3896-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,3897-1, -1, -1, -1, -1, -1, -1, 354, 355, -1,3898-1, 358, -1, -1, -1, -1, -1, -1, -1, 366,3899367, 368, 369, -1, -1, -1, -1, -1, -1, -1,3900-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,3901387, 388, 389, 390, 391, 392, -1, -1, -1, -1,3902397, 398, -1, -1, -1, -1, -1, -1, -1, -1,3903-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,3904-1, -1, -1, -1, 421, 422, 423, 424, 425, 426,3905427, 428, -1, -1, -1, -1, -1, -1, -1, -1,3906-1, -1, -1, -1, -1, -1, 443, 4, 5, 6,39077, 8, 9, 10, 11, 12, 13, 14, 15, 16,390817, 18, 19, 20, 21, 22, 23, 24, 25, 26,390927, 28, 29, 30, 31, 32, 33, 34, 35, 36,391037, 38, 39, 40, 41, 42, 43, 44, 45, 46,391147, 48, 49, 50, 51, 52, 53, 54, 55, 56,391257, 58, 59, 60, -1, -1, 63, 64, 65, 66,391367, 68, 69, 70, 71, 72, 73, 74, 75, 76,391477, 78, 79, 80, 81, 82, 83, 84, 85, 86,391587, 88, 89, 90, 91, 92, 93, 94, 95, 96,391697, 98, 99, 100, 101, 102, 103, 104, 105, 106,3917107, 108, 109, 110, 111, 112, 113, 114, 115, 116,3918117, 118, 119, 120, 121, 122, 123, 124, 125, 126,3919127, 128, 129, 130, 131, 132, 133, 134, 135, 136,3920137, 138, 139, 140, 141, 142, 143, 144, 145, 146,3921147, 148, 149, 150, 151, 152, 153, 154, 155, 156,3922157, 158, 159, 160, 161, 162, 163, 164, 165, 166,3923167, -1, 169, 170, 171, 172, 173, 174, 175, 176,3924177, 178, 179, 180, 181, 182, 183, 184, 185, 186,3925187, 188, 189, 190, 191, 192, 193, 194, 195, 196,3926197, 198, 199, 200, 201, 202, 203, 204, 205, 206,3927207, 208, 209, 210, 211, 212, 213, 214, 215, 216,3928217, 218, 219, 220, 221, 222, 223, 224, 225, 226,3929227, 228, 229, 230, 231, 232, 233, 234, 235, 236,3930237, 238, 239, 240, 241, 242, 243, 244, 245, 246,3931247, 248, 249, 250, 251, 252, 253, 254, 255, 256,3932257, 258, 259, 260, 261, 262, 263, 264, 265, 266,3933267, 268, 269, 270, 271, 272, 273, 274, 275, 276,3934277, 278, 279, 280, 281, 282, 283, 284, 285, 286,3935287, 288, 289, 290, 291, 292, 293, 294, 295, 296,3936297, 298, 299, 300, 301, 302, 303, 304, 305, 306,3937307, 308, 309, 310, 311, 312, 313, 314, 315, 316,3938317, 318, 319, -1, -1, -1, -1, -1, -1, 326,3939-1, -1, -1, 330, 331, 332, -1, -1, 335, 336,3940-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,3941-1, -1, -1, -1, -1, -1, -1, 354, 355, -1,3942-1, -1, 359, -1, -1, -1, -1, -1, -1, 366,3943367, 368, 369, -1, -1, -1, -1, -1, -1, -1,3944-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,3945387, 388, 389, 390, 391, 392, -1, -1, -1, -1,3946397, 398, -1, -1, -1, -1, -1, -1, -1, -1,3947-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,3948-1, -1, -1, -1, 421, 422, 423, 424, 425, 426,3949427, 428, -1, -1, -1, -1, -1, -1, -1, -1,3950-1, -1, -1, -1, -1, -1, 443, 4, 5, 6,39517, 8, 9, 10, 11, 12, 13, 14, 15, 16,395217, 18, 19, 20, 21, 22, 23, 24, 25, 26,395327, 28, 29, 30, 31, 32, 33, 34, 35, 36,395437, 38, 39, 40, 41, 42, 43, 44, 45, 46,395547, 48, 49, 50, 51, 52, 53, 54, 55, 56,395657, 58, 59, 60, -1, -1, 63, 64, 65, 66,395767, 68, 69, 70, 71, 72, 73, 74, 75, 76,395877, 78, 79, 80, 81, 82, 83, 84, 85, 86,395987, 88, 89, 90, 91, 92, 93, 94, 95, 96,396097, 98, 99, 100, 101, 102, 103, 104, 105, 106,3961107, 108, 109, 110, 111, 112, 113, 114, 115, 116,3962117, 118, 119, 120, 121, 122, 123, 124, 125, 126,3963127, 128, 129, 130, 131, 132, 133, 134, 135, 136,3964137, 138, 139, 140, 141, 142, 143, 144, 145, 146,3965147, 148, 149, 150, 151, 152, 153, 154, 155, 156,3966157, 158, 159, 160, 161, 162, 163, 164, 165, 166,3967167, -1, 169, 170, 171, 172, 173, 174, 175, 176,3968177, 178, 179, 180, 181, 182, 183, 184, 185, 186,3969187, 188, 189, 190, 191, 192, 193, 194, 195, 196,3970197, 198, 199, 200, 201, 202, 203, 204, 205, 206,3971207, 208, 209, 210, 211, 212, 213, 214, 215, 216,3972217, 218, 219, 220, 221, 222, 223, 224, 225, 226,3973227, 228, 229, 230, 231, 232, 233, 234, 235, 236,3974237, 238, 239, 240, 241, 242, 243, 244, 245, 246,3975247, 248, 249, 250, 251, 252, 253, 254, 255, 256,3976257, 258, 259, 260, 261, 262, 263, 264, 265, 266,3977267, 268, 269, 270, 271, 272, 273, 274, 275, 276,3978277, 278, 279, 280, 281, 282, 283, 284, 285, 286,3979287, 288, 289, 290, 291, 292, 293, 294, 295, 296,3980297, 298, 299, 300, 301, 302, 303, 304, 305, 306,3981307, 308, 309, 310, 311, 312, 313, 314, 315, 316,3982317, 318, 319, -1, -1, -1, -1, -1, -1, 326,3983-1, -1, -1, 330, 331, 332, -1, -1, 335, 336,3984-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,3985-1, -1, -1, -1, -1, -1, -1, 354, 355, -1,3986-1, 358, -1, -1, -1, -1, -1, -1, -1, 366,3987367, 368, 369, -1, -1, -1, -1, -1, -1, -1,3988-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,3989387, 388, 389, 390, 391, 392, -1, -1, -1, -1,3990397, 398, -1, -1, -1, -1, -1, -1, -1, -1,3991-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,3992-1, -1, -1, -1, 421, 422, 423, 424, 425, 426,3993427, 428, -1, -1, -1, -1, -1, -1, -1, -1,3994-1, -1, -1, -1, -1, -1, 443, 4, 5, 6,39957, 8, 9, 10, 11, 12, 13, 14, 15, 16,399617, 18, 19, 20, 21, 22, 23, 24, 25, 26,399727, 28, 29, 30, 31, 32, 33, 34, 35, 36,399837, 38, 39, 40, 41, 42, 43, 44, 45, 46,399947, 48, 49, 50, 51, 52, 53, 54, 55, 56,400057, 58, 59, 60, -1, -1, 63, 64, 65, 66,400167, 68, 69, 70, 71, 72, 73, 74, 75, 76,400277, 78, 79, 80, 81, 82, 83, 84, 85, 86,400387, 88, 89, 90, 91, 92, 93, 94, 95, 96,400497, 98, 99, 100, 101, 102, 103, 104, 105, 106,4005107, 108, 109, 110, 111, 112, 113, 114, 115, 116,4006117, 118, 119, 120, 121, 122, 123, 124, 125, 126,4007127, 128, 129, 130, 131, 132, 133, 134, 135, 136,4008137, 138, 139, 140, 141, 142, 143, 144, 145, 146,4009147, 148, 149, 150, 151, 152, 153, 154, 155, 156,4010157, 158, 159, 160, 161, 162, 163, 164, 165, 166,4011167, -1, 169, 170, 171, 172, 173, 174, 175, 176,4012177, 178, 179, 180, 181, 182, 183, 184, 185, 186,4013187, 188, 189, 190, 191, 192, 193, 194, 195, 196,4014197, 198, 199, 200, 201, 202, 203, 204, 205, 206,4015207, 208, 209, 210, 211, 212, 213, 214, 215, 216,4016217, 218, 219, 220, 221, 222, 223, 224, 225, 226,4017227, 228, 229, 230, 231, 232, 233, 234, 235, 236,4018237, 238, 239, 240, 241, 242, 243, 244, 245, 246,4019247, 248, 249, 250, 251, 252, 253, 254, 255, 256,4020257, 258, 259, 260, 261, 262, 263, 264, 265, 266,4021267, 268, 269, 270, 271, 272, 273, 274, 275, 276,4022277, 278, 279, 280, 281, 282, 283, 284, 285, 286,4023287, 288, 289, 290, 291, 292, 293, 294, 295, 296,4024297, 298, 299, 300, 301, 302, 303, 304, 305, 306,4025307, 308, 309, 310, 311, 312, 313, 314, 315, 316,4026317, 318, 319, -1, -1, -1, -1, -1, -1, 326,4027-1, -1, -1, 330, 331, 332, -1, -1, 335, 336,4028-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,4029-1, -1, -1, -1, -1, -1, -1, 354, 355, -1,4030-1, -1, -1, -1, -1, -1, -1, -1, 365, 366,4031367, 368, 369, -1, -1, -1, -1, -1, -1, -1,4032-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,4033387, 388, 389, 390, 391, 392, -1, -1, -1, -1,4034397, 398, -1, -1, -1, -1, -1, -1, -1, -1,4035-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,4036-1, -1, -1, -1, 421, 422, 423, 424, 425, 426,4037427, 428, -1, -1, -1, -1, -1, -1, -1, -1,4038-1, -1, -1, -1, -1, -1, 443, 4, 5, 6,40397, 8, 9, 10, 11, 12, 13, 14, 15, 16,404017, 18, 19, 20, 21, 22, 23, 24, 25, 26,404127, 28, 29, 30, 31, 32, 33, 34, 35, 36,404237, 38, 39, 40, 41, 42, 43, 44, 45, 46,404347, 48, 49, 50, 51, 52, 53, 54, 55, 56,404457, 58, 59, 60, -1, -1, 63, 64, 65, 66,404567, 68, 69, 70, 71, 72, 73, 74, 75, 76,404677, 78, 79, 80, 81, 82, 83, 84, 85, 86,404787, 88, 89, 90, 91, 92, 93, 94, 95, 96,404897, 98, 99, 100, 101, 102, 103, 104, 105, 106,4049107, 108, 109, 110, 111, 112, 113, 114, 115, 116,4050117, 118, 119, 120, 121, 122, 123, 124, 125, 126,4051127, 128, 129, 130, 131, 132, 133, 134, 135, 136,4052137, 138, 139, 140, 141, 142, 143, 144, 145, 146,4053147, 148, 149, 150, 151, 152, 153, 154, 155, 156,4054157, 158, 159, 160, 161, 162, 163, 164, 165, 166,4055167, -1, 169, 170, 171, 172, 173, 174, 175, 176,4056177, 178, 179, 180, 181, 182, 183, 184, 185, 186,4057187, 188, 189, 190, 191, 192, 193, 194, 195, 196,4058197, 198, 199, 200, 201, 202, 203, 204, 205, 206,4059207, 208, 209, 210, 211, 212, 213, 214, 215, 216,4060217, 218, 219, 220, 221, 222, 223, 224, 225, 226,4061227, 228, 229, 230, 231, 232, 233, 234, 235, 236,4062237, 238, 239, 240, 241, 242, 243, 244, 245, 246,4063247, 248, 249, 250, 251, 252, 253, 254, 255, 256,4064257, 258, 259, 260, 261, 262, 263, 264, 265, 266,4065267, 268, 269, 270, 271, 272, 273, 274, 275, 276,4066277, 278, 279, 280, 281, 282, 283, 284, 285, 286,4067287, 288, 289, 290, 291, 292, 293, 294, 295, 296,4068297, 298, 299, 300, 301, 302, 303, 304, 305, 306,4069307, 308, 309, 310, 311, 312, 313, 314, 315, 316,4070317, 318, 319, -1, -1, -1, -1, -1, -1, 326,4071-1, -1, -1, 330, 331, 332, -1, -1, 335, 336,4072-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,4073-1, -1, -1, -1, -1, -1, -1, 354, 355, -1,4074-1, -1, -1, -1, -1, -1, -1, -1, -1, 366,4075367, 368, 369, -1, -1, -1, -1, -1, -1, -1,4076-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,4077387, 388, 389, 390, 391, 392, -1, -1, -1, -1,4078397, 398, -1, -1, -1, -1, -1, -1, -1, -1,4079-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,4080-1, -1, -1, -1, 421, 422, 423, 424, 425, 426,4081427, 428, -1, -1, -1, -1, -1, -1, -1, -1,4082-1, -1, -1, -1, -1, -1, 443, 4, 5, 6,40837, 8, 9, 10, 11, 12, 13, 14, 15, 16,408417, 18, 19, 20, 21, 22, 23, 24, 25, 26,408527, 28, 29, 30, 31, 32, 33, 34, 35, 36,408637, 38, 39, 40, 41, 42, 43, 44, 45, 46,408747, 48, 49, 50, 51, 52, 53, 54, 55, 56,408857, 58, 59, 60, -1, -1, 63, 64, 65, 66,408967, 68, 69, 70, 71, 72, 73, 74, 75, 76,409077, 78, 79, 80, 81, 82, 83, 84, 85, 86,409187, 88, 89, 90, 91, 92, 93, 94, 95, 96,409297, 98, 99, 100, 101, 102, 103, 104, 105, 106,4093107, 108, 109, 110, 111, 112, 113, 114, 115, 116,4094117, 118, 119, 120, 121, 122, 123, 124, 125, 126,4095127, 128, 129, 130, 131, 132, 133, 134, 135, 136,4096137, 138, 139, 140, 141, 142, 143, 144, 145, 146,4097147, 148, 149, 150, 151, 152, 153, 154, 155, 156,4098157, 158, 159, 160, 161, 162, 163, 164, 165, 166,4099167, -1, 169, 170, 171, 172, 173, 174, 175, 176,4100177, 178, 179, 180, 181, 182, 183, 184, 185, 186,4101187, 188, 189, 190, 191, 192, 193, 194, 195, 196,4102197, 198, 199, 200, 201, 202, 203, 204, 205, 206,4103207, 208, 209, 210, 211, 212, 213, 214, 215, 216,4104217, 218, 219, 220, 221, 222, 223, 224, 225, 226,4105227, 228, 229, 230, 231, 232, 233, 234, 235, 236,4106237, 238, 239, 240, 241, 242, 243, 244, 245, 246,4107247, 248, 249, 250, 251, 252, 253, 254, 255, 256,4108257, 258, 259, 260, 261, 262, 263, 264, 265, 266,4109267, 268, 269, 270, 271, 272, 273, 274, 275, 276,4110277, 278, 279, 280, 281, 282, 283, 284, 285, 286,4111287, 288, 289, 290, 291, 292, 293, 294, 295, 296,4112297, 298, 299, 300, 301, 302, 303, 304, 305, 306,4113307, 308, 309, 310, 311, 312, 313, 314, 315, 316,4114317, 318, 319, -1, -1, -1, -1, -1, -1, 326,4115-1, -1, -1, 330, 331, 332, -1, -1, 335, 336,4116-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,4117-1, -1, -1, -1, -1, -1, -1, 354, 355, -1,4118-1, -1, -1, -1, -1, -1, -1, -1, -1, 366,4119367, 368, 369, -1, -1, -1, -1, -1, -1, -1,4120-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,4121387, 388, 389, 390, 391, 392, -1, -1, -1, -1,4122397, 398, -1, -1, -1, -1, -1, -1, -1, -1,4123-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,4124-1, -1, -1, -1, 421, 422, 423, 424, 425, 426,4125427, 428, -1, -1, -1, -1, -1, -1, -1, -1,4126-1, -1, -1, -1, -1, -1, 443, 4, 5, 6,41277, 8, 9, 10, 11, 12, 13, 14, 15, 16,412817, 18, 19, 20, 21, 22, 23, 24, 25, 26,412927, 28, 29, 30, 31, 32, 33, 34, 35, 36,413037, 38, 39, 40, 41, 42, 43, 44, 45, 46,413147, 48, 49, 50, 51, 52, 53, 54, 55, 56,413257, 58, 59, 60, -1, -1, 63, 64, 65, 66,413367, 68, 69, 70, 71, 72, 73, 74, 75, 76,413477, 78, 79, 80, 81, 82, 83, 84, 85, 86,413587, 88, 89, 90, 91, 92, 93, 94, 95, 96,413697, 98, 99, 100, 101, 102, 103, 104, 105, 106,4137107, 108, 109, 110, 111, 112, 113, 114, 115, 116,4138117, 118, 119, 120, 121, 122, 123, 124, 125, 126,4139127, 128, 129, 130, 131, 132, 133, 134, 135, 136,4140137, 138, 139, 140, 141, 142, 143, 144, 145, 146,4141147, 148, 149, 150, 151, 152, 153, 154, 155, 156,4142157, 158, 159, 160, 161, 162, 163, 164, 165, 166,4143167, -1, 169, 170, 171, 172, 173, 174, 175, 176,4144177, 178, 179, 180, 181, 182, 183, 184, 185, 186,4145187, 188, 189, 190, 191, 192, 193, 194, 195, 196,4146197, 198, 199, 200, 201, 202, 203, 204, 205, 206,4147207, 208, 209, 210, 211, 212, 213, 214, 215, 216,4148217, 218, 219, 220, 221, 222, 223, 224, 225, 226,4149227, 228, 229, 230, 231, 232, 233, 234, 235, 236,4150237, 238, 239, 240, 241, 242, 243, 244, 245, 246,4151247, 248, 249, 250, 251, 252, 253, 254, 255, 256,4152257, 258, 259, 260, 261, 262, 263, 264, 265, 266,4153267, 268, 269, 270, 271, 272, 273, 274, 275, 276,4154277, 278, 279, 280, 281, 282, 283, 284, 285, 286,4155287, 288, 289, 290, 291, 292, 293, 294, 295, 296,4156297, 298, 299, 300, 301, 302, 303, 304, 305, 306,4157307, 308, 309, 310, 311, 312, 313, 314, 315, 316,4158317, 318, 319, -1, -1, -1, -1, -1, -1, 326,4159-1, -1, -1, 330, 331, 332, -1, -1, 335, 336,4160-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,4161-1, -1, -1, -1, -1, -1, -1, 354, 355, -1,4162-1, -1, -1, -1, -1, -1, -1, -1, -1, 366,4163367, 368, 369, -1, -1, -1, -1, -1, -1, -1,4164-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,4165387, 388, 389, 390, 391, 392, -1, -1, -1, -1,4166397, 398, -1, -1, -1, -1, -1, -1, -1, -1,4167-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,4168-1, -1, -1, -1, 421, 422, 423, 424, 425, 426,4169427, 428, -1, -1, -1, -1, -1, -1, -1, -1,4170-1, -1, -1, -1, -1, -1, 443, 4, 5, 6,41717, 8, 9, 10, 11, 12, 13, 14, 15, 16,417217, 18, 19, 20, 21, 22, 23, 24, 25, 26,417327, 28, 29, 30, 31, 32, 33, 34, 35, 36,417437, 38, 39, 40, 41, 42, 43, 44, 45, 46,417547, 48, 49, 50, 51, 52, 53, 54, 55, 56,417657, 58, 59, 60, -1, -1, 63, 64, 65, 66,417767, 68, 69, 70, 71, 72, 73, 74, 75, 76,417877, 78, 79, 80, 81, 82, 83, 84, 85, 86,417987, 88, 89, 90, 91, 92, 93, 94, 95, 96,418097, 98, 99, 100, 101, 102, 103, 104, 105, 106,4181107, 108, 109, 110, 111, 112, 113, 114, 115, 116,4182117, 118, 119, 120, 121, 122, 123, 124, 125, 126,4183127, 128, 129, 130, 131, 132, 133, 134, 135, 136,4184137, 138, 139, 140, 141, 142, 143, 144, 145, 146,4185147, 148, 149, 150, 151, 152, 153, 154, 155, 156,4186157, 158, 159, 160, 161, 162, 163, 164, 165, 166,4187167, -1, 169, 170, 171, 172, 173, 174, 175, 176,4188177, 178, 179, 180, 181, 182, 183, 184, 185, 186,4189187, 188, 189, 190, 191, 192, 193, 194, 195, 196,4190197, 198, 199, 200, 201, 202, 203, 204, 205, 206,4191207, 208, 209, 210, 211, 212, 213, 214, 215, 216,4192217, 218, 219, 220, 221, 222, 223, 224, 225, 226,4193227, 228, 229, 230, 231, 232, 233, 234, 235, 236,4194237, 238, 239, 240, 241, 242, 243, 244, 245, 246,4195247, 248, 249, 250, 251, 252, 253, 254, 255, 256,4196257, 258, 259, 260, 261, 262, 263, 264, 265, 266,4197267, 268, 269, 270, 271, 272, 273, 274, 275, 276,4198277, 278, 279, 280, 281, 282, 283, 284, 285, 286,4199287, 288, 289, 290, 291, 292, 293, 294, 295, 296,4200297, 298, 299, 300, 301, 302, 303, 304, 305, 306,4201307, 308, 309, 310, 311, 312, 313, 314, 315, 316,4202317, 318, 319, -1, -1, -1, -1, -1, -1, 326,4203-1, -1, -1, 330, 331, 332, -1, -1, -1, -1,4204-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,4205-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,4206-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,4207-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,4208-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,4209-1, -1, -1, -1, -1, 392, -1, -1, -1, -1,4210397, 3984211};42124213/* YYSTOS[STATE-NUM] -- The symbol kind of the accessing symbol of4214state STATE-NUM. */4215static const yytype_int16 yystos[] =4216{42170, 3, 4, 5, 6, 7, 8, 9, 10, 11,421812, 13, 14, 15, 16, 17, 18, 19, 20, 21,421922, 23, 24, 25, 26, 27, 28, 29, 30, 31,422032, 33, 34, 35, 36, 37, 38, 39, 40, 41,422142, 43, 44, 45, 46, 47, 48, 49, 50, 51,422252, 53, 54, 55, 56, 57, 58, 59, 60, 61,422362, 63, 64, 65, 66, 67, 68, 69, 70, 71,422472, 73, 74, 75, 76, 77, 78, 79, 80, 81,422582, 83, 84, 85, 86, 87, 88, 89, 90, 91,422692, 93, 94, 95, 96, 97, 98, 99, 100, 101,4227102, 103, 104, 105, 106, 107, 108, 109, 110, 111,4228112, 113, 114, 115, 116, 117, 118, 119, 120, 121,4229122, 123, 124, 125, 126, 127, 128, 129, 130, 131,4230132, 133, 134, 135, 136, 137, 138, 139, 140, 141,4231142, 143, 144, 145, 146, 147, 148, 149, 150, 151,4232152, 153, 154, 155, 156, 157, 158, 159, 160, 161,4233162, 163, 164, 165, 166, 167, 168, 169, 170, 171,4234172, 173, 174, 175, 176, 177, 178, 179, 180, 181,4235182, 183, 184, 185, 186, 187, 188, 189, 190, 191,4236192, 193, 194, 195, 196, 197, 198, 199, 200, 201,4237202, 203, 204, 205, 206, 207, 208, 209, 210, 211,4238212, 213, 214, 215, 216, 217, 218, 219, 220, 221,4239222, 223, 224, 225, 226, 227, 228, 229, 230, 231,4240232, 233, 234, 235, 236, 237, 238, 239, 240, 241,4241242, 243, 244, 245, 246, 247, 248, 249, 250, 251,4242252, 253, 254, 255, 256, 257, 258, 259, 260, 261,4243262, 263, 264, 265, 266, 267, 268, 269, 270, 271,4244272, 273, 274, 275, 276, 277, 278, 279, 280, 281,4245282, 283, 284, 285, 286, 287, 288, 289, 290, 291,4246292, 293, 294, 295, 296, 297, 298, 299, 300, 301,4247302, 303, 304, 305, 306, 307, 308, 309, 310, 311,4248312, 313, 314, 315, 316, 317, 318, 319, 320, 321,4249322, 323, 324, 325, 326, 327, 328, 329, 330, 331,4250332, 357, 365, 379, 380, 381, 382, 383, 392, 393,4251394, 395, 396, 397, 398, 414, 415, 416, 417, 418,4252419, 420, 429, 431, 432, 433, 434, 435, 436, 437,4253438, 439, 440, 441, 442, 443, 444, 445, 446, 447,4254448, 449, 450, 451, 452, 453, 454, 455, 456, 457,4255458, 459, 460, 461, 462, 463, 464, 496, 497, 500,4256501, 502, 503, 507, 508, 509, 510, 511, 512, 515,4257516, 517, 518, 519, 521, 526, 527, 528, 569, 570,4258571, 573, 580, 584, 585, 591, 594, 355, 355, 355,4259355, 355, 355, 355, 355, 357, 527, 359, 391, 355,4260355, 365, 391, 365, 572, 356, 362, 504, 505, 506,4261516, 521, 362, 365, 391, 365, 391, 517, 521, 373,4262523, 524, 0, 570, 501, 509, 516, 365, 500, 391,4263576, 577, 595, 596, 388, 391, 576, 388, 576, 388,4264576, 388, 576, 388, 576, 576, 595, 388, 576, 391,4265574, 575, 521, 530, 359, 391, 415, 513, 514, 391,4266520, 357, 365, 522, 359, 548, 573, 505, 504, 506,4267391, 391, 355, 364, 522, 359, 362, 365, 499, 335,4268336, 354, 355, 366, 367, 368, 369, 387, 388, 389,4269390, 391, 421, 422, 423, 424, 425, 426, 427, 428,4270466, 467, 468, 470, 471, 472, 473, 474, 475, 476,4271477, 478, 519, 521, 525, 522, 356, 391, 365, 364,4272362, 356, 362, 356, 362, 364, 362, 362, 362, 356,4273362, 362, 362, 362, 362, 362, 362, 356, 362, 356,4274362, 355, 358, 362, 365, 516, 521, 531, 532, 529,4275364, 356, 362, 356, 362, 358, 477, 479, 480, 481,4276482, 483, 484, 485, 486, 487, 488, 489, 490, 521,4277357, 365, 359, 360, 365, 399, 400, 401, 402, 404,4278405, 406, 407, 408, 409, 410, 411, 412, 413, 430,4279477, 490, 492, 494, 496, 500, 519, 521, 537, 538,4280539, 540, 541, 549, 550, 551, 552, 555, 556, 559,4281560, 561, 568, 573, 522, 364, 522, 359, 492, 535,4282364, 498, 391, 362, 365, 477, 477, 494, 335, 336,4283357, 361, 356, 356, 362, 398, 492, 355, 477, 362,4284374, 573, 354, 357, 388, 577, 595, 391, 596, 354,4285387, 388, 389, 390, 581, 582, 388, 490, 495, 583,4286388, 387, 388, 389, 390, 586, 587, 388, 387, 388,4287389, 390, 466, 588, 589, 388, 354, 590, 388, 595,4288391, 495, 526, 592, 593, 388, 495, 358, 575, 521,4289391, 533, 534, 360, 532, 531, 495, 514, 391, 370,4290371, 372, 367, 369, 333, 334, 337, 338, 373, 374,4291339, 340, 377, 376, 375, 341, 343, 342, 378, 358,4292358, 490, 360, 542, 355, 365, 365, 563, 355, 355,4293365, 365, 494, 355, 494, 363, 365, 365, 365, 365,4294344, 345, 346, 347, 348, 349, 350, 351, 352, 353,4295364, 493, 362, 365, 360, 538, 552, 556, 561, 535,4296364, 360, 535, 536, 535, 531, 391, 356, 469, 494,4297391, 492, 477, 354, 388, 578, 579, 356, 364, 356,4298362, 356, 362, 356, 362, 362, 356, 362, 356, 362,4299356, 362, 362, 356, 362, 362, 356, 362, 356, 362,4300356, 356, 533, 522, 362, 365, 360, 477, 477, 477,4301479, 479, 480, 480, 481, 481, 481, 481, 482, 482,4302483, 484, 485, 486, 487, 488, 491, 358, 549, 562,4303538, 564, 494, 365, 494, 363, 492, 492, 535, 360,4304362, 360, 358, 358, 362, 358, 362, 582, 581, 495,4305583, 587, 586, 589, 588, 354, 590, 592, 593, 365,4306534, 494, 543, 494, 509, 554, 399, 537, 550, 565,4307356, 356, 360, 535, 354, 388, 356, 356, 356, 356,4308356, 356, 363, 360, 391, 356, 355, 554, 566, 567,4309545, 546, 547, 553, 557, 492, 364, 539, 544, 548,4310494, 365, 356, 403, 541, 539, 359, 535, 356, 494,4311544, 545, 549, 558, 365, 3604312};43134314/* YYR1[RULE-NUM] -- Symbol kind of the left-hand side of rule RULE-NUM. */4315static const yytype_int16 yyr1[] =4316{43170, 465, 466, 467, 467, 467, 467, 467, 467, 467,4318467, 467, 467, 467, 467, 467, 467, 467, 468, 468,4319468, 468, 468, 468, 469, 470, 471, 472, 472, 473,4320473, 474, 474, 475, 476, 476, 476, 477, 477, 477,4321477, 478, 478, 478, 478, 479, 479, 479, 479, 480,4322480, 480, 481, 481, 481, 482, 482, 482, 482, 482,4323483, 483, 483, 484, 484, 485, 485, 486, 486, 487,4324487, 488, 488, 489, 489, 490, 491, 490, 492, 492,4325493, 493, 493, 493, 493, 493, 493, 493, 493, 493,4326493, 494, 494, 495, 496, 496, 496, 496, 496, 496,4327496, 496, 496, 496, 496, 498, 497, 499, 499, 500,4328500, 500, 500, 501, 501, 502, 502, 503, 504, 504,4329505, 505, 505, 505, 506, 507, 507, 507, 507, 507,4330508, 508, 508, 508, 508, 509, 509, 510, 511, 511,4331511, 511, 511, 511, 511, 511, 511, 511, 512, 513,4332513, 514, 514, 514, 515, 516, 516, 517, 517, 517,4333517, 517, 517, 517, 517, 517, 517, 517, 518, 518,4334518, 518, 518, 518, 518, 518, 518, 518, 518, 518,4335518, 518, 518, 518, 518, 518, 518, 518, 518, 518,4336518, 518, 518, 518, 518, 518, 518, 518, 518, 518,4337518, 518, 518, 518, 518, 518, 519, 520, 520, 521,4338521, 522, 522, 522, 522, 523, 523, 524, 525, 525,4339525, 526, 526, 526, 526, 526, 526, 526, 526, 526,4340526, 526, 526, 526, 526, 526, 526, 526, 526, 526,4341526, 526, 526, 526, 526, 526, 526, 526, 526, 526,4342526, 526, 526, 526, 526, 526, 526, 526, 526, 526,4343526, 526, 526, 526, 526, 526, 526, 526, 526, 526,4344526, 526, 526, 526, 526, 526, 526, 526, 526, 526,4345526, 526, 526, 526, 526, 526, 526, 526, 526, 526,4346526, 526, 526, 526, 526, 526, 526, 526, 526, 526,4347526, 526, 526, 526, 526, 526, 526, 526, 526, 526,4348526, 526, 526, 526, 526, 526, 526, 526, 526, 526,4349526, 526, 526, 526, 526, 526, 526, 526, 526, 526,4350526, 526, 526, 526, 526, 526, 526, 526, 526, 526,4351526, 526, 526, 526, 526, 526, 526, 526, 526, 526,4352526, 526, 526, 526, 526, 526, 526, 526, 526, 526,4353526, 526, 526, 526, 526, 526, 526, 526, 526, 526,4354526, 526, 526, 526, 526, 526, 526, 526, 526, 526,4355526, 526, 526, 526, 526, 526, 526, 526, 526, 526,4356526, 526, 526, 526, 526, 526, 526, 526, 526, 526,4357526, 526, 526, 526, 526, 526, 526, 526, 526, 526,4358526, 526, 526, 526, 526, 526, 526, 526, 526, 526,4359526, 526, 526, 526, 526, 526, 526, 526, 526, 526,4360526, 526, 526, 526, 526, 526, 526, 526, 526, 526,4361526, 526, 526, 526, 526, 526, 526, 526, 526, 526,4362526, 526, 526, 526, 526, 526, 526, 526, 526, 526,4363526, 526, 526, 526, 526, 526, 526, 526, 526, 526,4364526, 526, 526, 526, 526, 526, 526, 526, 526, 526,4365526, 526, 526, 526, 526, 526, 526, 526, 526, 526,4366526, 526, 526, 526, 526, 526, 526, 526, 526, 526,4367526, 526, 526, 526, 526, 526, 526, 526, 526, 526,4368526, 526, 526, 526, 526, 526, 526, 526, 526, 526,4369526, 526, 526, 526, 526, 526, 526, 526, 526, 526,4370526, 526, 526, 526, 526, 526, 526, 526, 526, 526,4371526, 527, 527, 527, 529, 528, 530, 528, 531, 531,4372532, 532, 533, 533, 534, 534, 535, 535, 535, 535,4373536, 536, 537, 538, 538, 539, 539, 539, 539, 539,4374539, 539, 539, 540, 541, 542, 543, 541, 544, 544,4375546, 545, 547, 545, 548, 548, 549, 549, 550, 550,4376551, 551, 552, 553, 553, 554, 554, 555, 555, 557,4377556, 558, 558, 559, 559, 560, 560, 562, 561, 563,4378561, 564, 561, 565, 565, 566, 566, 567, 567, 568,4379568, 568, 568, 568, 568, 568, 568, 569, 569, 570,4380570, 570, 572, 571, 573, 574, 574, 575, 575, 576,4381576, 577, 577, 578, 578, 579, 579, 580, 580, 580,4382580, 580, 580, 581, 581, 582, 582, 582, 582, 582,4383583, 583, 584, 584, 585, 585, 585, 585, 585, 585,4384585, 585, 586, 586, 587, 587, 587, 587, 588, 588,4385589, 589, 589, 589, 589, 590, 590, 591, 591, 591,4386591, 592, 592, 593, 593, 594, 594, 595, 595, 596,43875964388};43894390/* YYR2[RULE-NUM] -- Number of symbols on the right-hand side of rule RULE-NUM. */4391static const yytype_int8 yyr2[] =4392{43930, 2, 1, 1, 3, 1, 1, 1, 1, 1,43941, 1, 1, 1, 1, 1, 1, 1, 1, 4,43951, 3, 2, 2, 1, 1, 1, 2, 2, 2,43961, 2, 3, 2, 1, 1, 1, 1, 2, 2,43972, 1, 1, 1, 1, 1, 3, 3, 3, 1,43983, 3, 1, 3, 3, 1, 3, 3, 3, 3,43991, 3, 3, 1, 3, 1, 3, 1, 3, 1,44003, 1, 3, 1, 3, 1, 0, 6, 1, 3,44011, 1, 1, 1, 1, 1, 1, 1, 1, 1,44021, 1, 3, 1, 2, 3, 2, 2, 4, 2,44033, 4, 2, 3, 4, 0, 6, 2, 3, 2,44043, 3, 4, 1, 1, 2, 3, 3, 2, 3,44052, 1, 2, 1, 1, 1, 3, 4, 6, 5,44061, 2, 3, 5, 4, 1, 2, 1, 1, 1,44071, 1, 1, 1, 1, 1, 1, 1, 4, 1,44083, 1, 3, 1, 1, 1, 2, 1, 1, 1,44091, 1, 1, 1, 1, 1, 1, 1, 1, 1,44101, 1, 1, 1, 1, 1, 1, 1, 1, 1,44111, 1, 1, 1, 1, 1, 1, 1, 1, 1,44121, 1, 1, 1, 1, 1, 1, 1, 1, 1,44131, 1, 1, 1, 4, 1, 1, 1, 3, 2,44143, 2, 3, 3, 4, 1, 0, 3, 1, 1,44153, 1, 1, 1, 1, 1, 1, 1, 1, 1,44161, 1, 1, 1, 1, 1, 1, 1, 1, 1,44171, 1, 1, 1, 1, 1, 1, 1, 1, 1,44181, 1, 1, 1, 1, 1, 1, 1, 1, 1,44191, 1, 1, 1, 1, 1, 1, 1, 1, 1,44201, 1, 1, 1, 1, 1, 1, 1, 1, 1,44211, 1, 1, 1, 1, 1, 1, 1, 1, 1,44221, 1, 1, 1, 1, 1, 1, 1, 1, 1,44231, 1, 1, 1, 1, 1, 1, 1, 1, 1,44241, 1, 1, 1, 1, 1, 1, 1, 1, 1,44251, 1, 1, 1, 1, 1, 1, 1, 1, 1,44261, 1, 1, 1, 1, 1, 1, 1, 1, 1,44271, 1, 1, 1, 1, 1, 1, 1, 1, 1,44281, 1, 1, 1, 1, 1, 1, 1, 1, 1,44291, 1, 1, 1, 1, 1, 1, 1, 1, 1,44301, 1, 1, 1, 1, 1, 1, 1, 1, 1,44311, 1, 1, 1, 1, 1, 1, 1, 1, 1,44321, 1, 1, 1, 1, 1, 1, 1, 1, 1,44331, 1, 1, 1, 1, 1, 1, 1, 1, 1,44341, 1, 1, 1, 1, 1, 1, 1, 1, 1,44351, 1, 1, 1, 1, 1, 1, 1, 1, 1,44361, 1, 1, 1, 1, 1, 1, 1, 1, 1,44371, 1, 1, 1, 1, 1, 1, 1, 1, 1,44381, 1, 1, 1, 1, 1, 1, 1, 1, 1,44391, 1, 1, 1, 1, 1, 1, 1, 1, 1,44401, 1, 1, 1, 1, 1, 1, 1, 1, 1,44411, 1, 1, 1, 1, 1, 1, 1, 1, 1,44421, 1, 1, 1, 1, 1, 1, 1, 1, 1,44431, 1, 1, 1, 1, 1, 1, 1, 1, 1,44441, 1, 1, 1, 1, 1, 1, 1, 1, 1,44451, 1, 1, 1, 1, 1, 1, 1, 1, 1,44461, 1, 1, 1, 1, 1, 1, 1, 1, 1,44471, 1, 1, 1, 0, 6, 0, 5, 1, 2,44483, 4, 1, 3, 1, 2, 1, 3, 4, 2,44491, 3, 1, 1, 1, 1, 1, 1, 1, 1,44501, 1, 1, 2, 2, 0, 0, 5, 1, 1,44510, 2, 0, 2, 2, 3, 1, 2, 1, 2,44521, 2, 5, 3, 1, 1, 4, 1, 2, 0,44538, 0, 1, 3, 2, 1, 2, 0, 6, 0,44548, 0, 7, 1, 1, 1, 0, 2, 3, 2,44552, 2, 3, 2, 2, 2, 2, 1, 2, 1,44561, 1, 0, 3, 5, 1, 3, 1, 4, 1,44573, 5, 5, 1, 3, 1, 3, 4, 6, 6,44588, 6, 8, 1, 3, 1, 1, 1, 1, 1,44591, 3, 4, 6, 4, 6, 6, 8, 6, 8,44606, 8, 1, 3, 1, 1, 1, 1, 1, 3,44611, 1, 1, 1, 1, 1, 3, 6, 8, 4,44626, 1, 3, 1, 1, 4, 6, 1, 3, 3,446334464};446544664467enum { YYENOMEM = -2 };44684469#define yyerrok (yyerrstatus = 0)4470#define yyclearin (yychar = YYEMPTY)44714472#define YYACCEPT goto yyacceptlab4473#define YYABORT goto yyabortlab4474#define YYERROR goto yyerrorlab4475#define YYNOMEM goto yyexhaustedlab447644774478#define YYRECOVERING() (!!yyerrstatus)44794480#define YYBACKUP(Token, Value) \4481do \4482if (yychar == YYEMPTY) \4483{ \4484yychar = (Token); \4485yylval = (Value); \4486YYPOPSTACK (yylen); \4487yystate = *yyssp; \4488goto yybackup; \4489} \4490else \4491{ \4492yyerror (pParseContext, YY_("syntax error: cannot back up")); \4493YYERROR; \4494} \4495while (0)44964497/* Backward compatibility with an undocumented macro.4498Use YYerror or YYUNDEF. */4499#define YYERRCODE YYUNDEF450045014502/* Enable debugging if requested. */4503#if YYDEBUG45044505# ifndef YYFPRINTF4506# include <stdio.h> /* INFRINGES ON USER NAME SPACE */4507# define YYFPRINTF fprintf4508# endif45094510# define YYDPRINTF(Args) \4511do { \4512if (yydebug) \4513YYFPRINTF Args; \4514} while (0)45154516451745184519# define YY_SYMBOL_PRINT(Title, Kind, Value, Location) \4520do { \4521if (yydebug) \4522{ \4523YYFPRINTF (stderr, "%s ", Title); \4524yy_symbol_print (stderr, \4525Kind, Value, pParseContext); \4526YYFPRINTF (stderr, "\n"); \4527} \4528} while (0)452945304531/*-----------------------------------.4532| Print this symbol's value on YYO. |4533`-----------------------------------*/45344535static void4536yy_symbol_value_print (FILE *yyo,4537yysymbol_kind_t yykind, YYSTYPE const * const yyvaluep, glslang::TParseContext* pParseContext)4538{4539FILE *yyoutput = yyo;4540YY_USE (yyoutput);4541YY_USE (pParseContext);4542if (!yyvaluep)4543return;4544YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN4545YY_USE (yykind);4546YY_IGNORE_MAYBE_UNINITIALIZED_END4547}454845494550/*---------------------------.4551| Print this symbol on YYO. |4552`---------------------------*/45534554static void4555yy_symbol_print (FILE *yyo,4556yysymbol_kind_t yykind, YYSTYPE const * const yyvaluep, glslang::TParseContext* pParseContext)4557{4558YYFPRINTF (yyo, "%s %s (",4559yykind < YYNTOKENS ? "token" : "nterm", yysymbol_name (yykind));45604561yy_symbol_value_print (yyo, yykind, yyvaluep, pParseContext);4562YYFPRINTF (yyo, ")");4563}45644565/*------------------------------------------------------------------.4566| yy_stack_print -- Print the state stack from its BOTTOM up to its |4567| TOP (included). |4568`------------------------------------------------------------------*/45694570static void4571yy_stack_print (yy_state_t *yybottom, yy_state_t *yytop)4572{4573YYFPRINTF (stderr, "Stack now");4574for (; yybottom <= yytop; yybottom++)4575{4576int yybot = *yybottom;4577YYFPRINTF (stderr, " %d", yybot);4578}4579YYFPRINTF (stderr, "\n");4580}45814582# define YY_STACK_PRINT(Bottom, Top) \4583do { \4584if (yydebug) \4585yy_stack_print ((Bottom), (Top)); \4586} while (0)458745884589/*------------------------------------------------.4590| Report that the YYRULE is going to be reduced. |4591`------------------------------------------------*/45924593static void4594yy_reduce_print (yy_state_t *yyssp, YYSTYPE *yyvsp,4595int yyrule, glslang::TParseContext* pParseContext)4596{4597int yylno = yyrline[yyrule];4598int yynrhs = yyr2[yyrule];4599int yyi;4600YYFPRINTF (stderr, "Reducing stack by rule %d (line %d):\n",4601yyrule - 1, yylno);4602/* The symbols being reduced. */4603for (yyi = 0; yyi < yynrhs; yyi++)4604{4605YYFPRINTF (stderr, " $%d = ", yyi + 1);4606yy_symbol_print (stderr,4607YY_ACCESSING_SYMBOL (+yyssp[yyi + 1 - yynrhs]),4608&yyvsp[(yyi + 1) - (yynrhs)], pParseContext);4609YYFPRINTF (stderr, "\n");4610}4611}46124613# define YY_REDUCE_PRINT(Rule) \4614do { \4615if (yydebug) \4616yy_reduce_print (yyssp, yyvsp, Rule, pParseContext); \4617} while (0)46184619/* Nonzero means print parse trace. It is left uninitialized so that4620multiple parsers can coexist. */4621int yydebug;4622#else /* !YYDEBUG */4623# define YYDPRINTF(Args) ((void) 0)4624# define YY_SYMBOL_PRINT(Title, Kind, Value, Location)4625# define YY_STACK_PRINT(Bottom, Top)4626# define YY_REDUCE_PRINT(Rule)4627#endif /* !YYDEBUG */462846294630/* YYINITDEPTH -- initial size of the parser's stacks. */4631#ifndef YYINITDEPTH4632# define YYINITDEPTH 2004633#endif46344635/* YYMAXDEPTH -- maximum size the stacks can grow to (effective only4636if the built-in stack extension method is used).46374638Do not make this value too large; the results are undefined if4639YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH)4640evaluated with infinite-precision integer arithmetic. */46414642#ifndef YYMAXDEPTH4643# define YYMAXDEPTH 100004644#endif464546464647/* Context of a parse error. */4648typedef struct4649{4650yy_state_t *yyssp;4651yysymbol_kind_t yytoken;4652} yypcontext_t;46534654/* Put in YYARG at most YYARGN of the expected tokens given the4655current YYCTX, and return the number of tokens stored in YYARG. If4656YYARG is null, return the number of expected tokens (guaranteed to4657be less than YYNTOKENS). Return YYENOMEM on memory exhaustion.4658Return 0 if there are more than YYARGN expected tokens, yet fill4659YYARG up to YYARGN. */4660static int4661yypcontext_expected_tokens (const yypcontext_t *yyctx,4662yysymbol_kind_t yyarg[], int yyargn)4663{4664/* Actual size of YYARG. */4665int yycount = 0;4666int yyn = yypact[+*yyctx->yyssp];4667if (!yypact_value_is_default (yyn))4668{4669/* Start YYX at -YYN if negative to avoid negative indexes in4670YYCHECK. In other words, skip the first -YYN actions for4671this state because they are default actions. */4672int yyxbegin = yyn < 0 ? -yyn : 0;4673/* Stay within bounds of both yycheck and yytname. */4674int yychecklim = YYLAST - yyn + 1;4675int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;4676int yyx;4677for (yyx = yyxbegin; yyx < yyxend; ++yyx)4678if (yycheck[yyx + yyn] == yyx && yyx != YYSYMBOL_YYerror4679&& !yytable_value_is_error (yytable[yyx + yyn]))4680{4681if (!yyarg)4682++yycount;4683else if (yycount == yyargn)4684return 0;4685else4686yyarg[yycount++] = YY_CAST (yysymbol_kind_t, yyx);4687}4688}4689if (yyarg && yycount == 0 && 0 < yyargn)4690yyarg[0] = YYSYMBOL_YYEMPTY;4691return yycount;4692}46934694469546964697#ifndef yystrlen4698# if defined __GLIBC__ && defined _STRING_H4699# define yystrlen(S) (YY_CAST (YYPTRDIFF_T, strlen (S)))4700# else4701/* Return the length of YYSTR. */4702static YYPTRDIFF_T4703yystrlen (const char *yystr)4704{4705YYPTRDIFF_T yylen;4706for (yylen = 0; yystr[yylen]; yylen++)4707continue;4708return yylen;4709}4710# endif4711#endif47124713#ifndef yystpcpy4714# if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE4715# define yystpcpy stpcpy4716# else4717/* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in4718YYDEST. */4719static char *4720yystpcpy (char *yydest, const char *yysrc)4721{4722char *yyd = yydest;4723const char *yys = yysrc;47244725while ((*yyd++ = *yys++) != '\0')4726continue;47274728return yyd - 1;4729}4730# endif4731#endif47324733#ifndef yytnamerr4734/* Copy to YYRES the contents of YYSTR after stripping away unnecessary4735quotes and backslashes, so that it's suitable for yyerror. The4736heuristic is that double-quoting is unnecessary unless the string4737contains an apostrophe, a comma, or backslash (other than4738backslash-backslash). YYSTR is taken from yytname. If YYRES is4739null, do not copy; instead, return the length of what the result4740would have been. */4741static YYPTRDIFF_T4742yytnamerr (char *yyres, const char *yystr)4743{4744if (*yystr == '"')4745{4746YYPTRDIFF_T yyn = 0;4747char const *yyp = yystr;4748for (;;)4749switch (*++yyp)4750{4751case '\'':4752case ',':4753goto do_not_strip_quotes;47544755case '\\':4756if (*++yyp != '\\')4757goto do_not_strip_quotes;4758else4759goto append;47604761append:4762default:4763if (yyres)4764yyres[yyn] = *yyp;4765yyn++;4766break;47674768case '"':4769if (yyres)4770yyres[yyn] = '\0';4771return yyn;4772}4773do_not_strip_quotes: ;4774}47754776if (yyres)4777return yystpcpy (yyres, yystr) - yyres;4778else4779return yystrlen (yystr);4780}4781#endif478247834784static int4785yy_syntax_error_arguments (const yypcontext_t *yyctx,4786yysymbol_kind_t yyarg[], int yyargn)4787{4788/* Actual size of YYARG. */4789int yycount = 0;4790/* There are many possibilities here to consider:4791- If this state is a consistent state with a default action, then4792the only way this function was invoked is if the default action4793is an error action. In that case, don't check for expected4794tokens because there are none.4795- The only way there can be no lookahead present (in yychar) is if4796this state is a consistent state with a default action. Thus,4797detecting the absence of a lookahead is sufficient to determine4798that there is no unexpected or expected token to report. In that4799case, just report a simple "syntax error".4800- Don't assume there isn't a lookahead just because this state is a4801consistent state with a default action. There might have been a4802previous inconsistent state, consistent state with a non-default4803action, or user semantic action that manipulated yychar.4804- Of course, the expected token list depends on states to have4805correct lookahead information, and it depends on the parser not4806to perform extra reductions after fetching a lookahead from the4807scanner and before detecting a syntax error. Thus, state merging4808(from LALR or IELR) and default reductions corrupt the expected4809token list. However, the list is correct for canonical LR with4810one exception: it will still contain any token that will not be4811accepted due to an error action in a later state.4812*/4813if (yyctx->yytoken != YYSYMBOL_YYEMPTY)4814{4815int yyn;4816if (yyarg)4817yyarg[yycount] = yyctx->yytoken;4818++yycount;4819yyn = yypcontext_expected_tokens (yyctx,4820yyarg ? yyarg + 1 : yyarg, yyargn - 1);4821if (yyn == YYENOMEM)4822return YYENOMEM;4823else4824yycount += yyn;4825}4826return yycount;4827}48284829/* Copy into *YYMSG, which is of size *YYMSG_ALLOC, an error message4830about the unexpected token YYTOKEN for the state stack whose top is4831YYSSP.48324833Return 0 if *YYMSG was successfully written. Return -1 if *YYMSG is4834not large enough to hold the message. In that case, also set4835*YYMSG_ALLOC to the required number of bytes. Return YYENOMEM if the4836required number of bytes is too large to store. */4837static int4838yysyntax_error (YYPTRDIFF_T *yymsg_alloc, char **yymsg,4839const yypcontext_t *yyctx)4840{4841enum { YYARGS_MAX = 5 };4842/* Internationalized format string. */4843const char *yyformat = YY_NULLPTR;4844/* Arguments of yyformat: reported tokens (one for the "unexpected",4845one per "expected"). */4846yysymbol_kind_t yyarg[YYARGS_MAX];4847/* Cumulated lengths of YYARG. */4848YYPTRDIFF_T yysize = 0;48494850/* Actual size of YYARG. */4851int yycount = yy_syntax_error_arguments (yyctx, yyarg, YYARGS_MAX);4852if (yycount == YYENOMEM)4853return YYENOMEM;48544855switch (yycount)4856{4857#define YYCASE_(N, S) \4858case N: \4859yyformat = S; \4860break4861default: /* Avoid compiler warnings. */4862YYCASE_(0, YY_("syntax error"));4863YYCASE_(1, YY_("syntax error, unexpected %s"));4864YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s"));4865YYCASE_(3, YY_("syntax error, unexpected %s, expecting %s or %s"));4866YYCASE_(4, YY_("syntax error, unexpected %s, expecting %s or %s or %s"));4867YYCASE_(5, YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s"));4868#undef YYCASE_4869}48704871/* Compute error message size. Don't count the "%s"s, but reserve4872room for the terminator. */4873yysize = yystrlen (yyformat) - 2 * yycount + 1;4874{4875int yyi;4876for (yyi = 0; yyi < yycount; ++yyi)4877{4878YYPTRDIFF_T yysize14879= yysize + yytnamerr (YY_NULLPTR, yytname[yyarg[yyi]]);4880if (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM)4881yysize = yysize1;4882else4883return YYENOMEM;4884}4885}48864887if (*yymsg_alloc < yysize)4888{4889*yymsg_alloc = 2 * yysize;4890if (! (yysize <= *yymsg_alloc4891&& *yymsg_alloc <= YYSTACK_ALLOC_MAXIMUM))4892*yymsg_alloc = YYSTACK_ALLOC_MAXIMUM;4893return -1;4894}48954896/* Avoid sprintf, as that infringes on the user's name space.4897Don't have undefined behavior even if the translation4898produced a string with the wrong number of "%s"s. */4899{4900char *yyp = *yymsg;4901int yyi = 0;4902while ((*yyp = *yyformat) != '\0')4903if (*yyp == '%' && yyformat[1] == 's' && yyi < yycount)4904{4905yyp += yytnamerr (yyp, yytname[yyarg[yyi++]]);4906yyformat += 2;4907}4908else4909{4910++yyp;4911++yyformat;4912}4913}4914return 0;4915}491649174918/*-----------------------------------------------.4919| Release the memory associated to this symbol. |4920`-----------------------------------------------*/49214922static void4923yydestruct (const char *yymsg,4924yysymbol_kind_t yykind, YYSTYPE *yyvaluep, glslang::TParseContext* pParseContext)4925{4926YY_USE (yyvaluep);4927YY_USE (pParseContext);4928if (!yymsg)4929yymsg = "Deleting";4930YY_SYMBOL_PRINT (yymsg, yykind, yyvaluep, yylocationp);49314932YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN4933YY_USE (yykind);4934YY_IGNORE_MAYBE_UNINITIALIZED_END4935}4936493749384939494049414942/*----------.4943| yyparse. |4944`----------*/49454946int4947yyparse (glslang::TParseContext* pParseContext)4948{4949/* Lookahead token kind. */4950int yychar;495149524953/* The semantic value of the lookahead symbol. */4954/* Default value used for initialization, for pacifying older GCCs4955or non-GCC compilers. */4956YY_INITIAL_VALUE (static YYSTYPE yyval_default;)4957YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);49584959/* Number of syntax errors so far. */4960int yynerrs = 0;49614962yy_state_fast_t yystate = 0;4963/* Number of tokens to shift before error messages enabled. */4964int yyerrstatus = 0;49654966/* Refer to the stacks through separate pointers, to allow yyoverflow4967to reallocate them elsewhere. */49684969/* Their size. */4970YYPTRDIFF_T yystacksize = YYINITDEPTH;49714972/* The state stack: array, bottom, top. */4973yy_state_t yyssa[YYINITDEPTH];4974yy_state_t *yyss = yyssa;4975yy_state_t *yyssp = yyss;49764977/* The semantic value stack: array, bottom, top. */4978YYSTYPE yyvsa[YYINITDEPTH];4979YYSTYPE *yyvs = yyvsa;4980YYSTYPE *yyvsp = yyvs;49814982int yyn;4983/* The return value of yyparse. */4984int yyresult;4985/* Lookahead symbol kind. */4986yysymbol_kind_t yytoken = YYSYMBOL_YYEMPTY;4987/* The variables used to return semantic value and location from the4988action routines. */4989YYSTYPE yyval;49904991/* Buffer for error messages, and its allocated size. */4992char yymsgbuf[128];4993char *yymsg = yymsgbuf;4994YYPTRDIFF_T yymsg_alloc = sizeof yymsgbuf;49954996#define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N))49974998/* The number of symbols on the RHS of the reduced rule.4999Keep to zero when no symbol should be popped. */5000int yylen = 0;50015002YYDPRINTF ((stderr, "Starting parse\n"));50035004yychar = YYEMPTY; /* Cause a token to be read. */50055006goto yysetstate;500750085009/*------------------------------------------------------------.5010| yynewstate -- push a new state, which is found in yystate. |5011`------------------------------------------------------------*/5012yynewstate:5013/* In all cases, when you get here, the value and location stacks5014have just been pushed. So pushing a state here evens the stacks. */5015yyssp++;501650175018/*--------------------------------------------------------------------.5019| yysetstate -- set current state (the top of the stack) to yystate. |5020`--------------------------------------------------------------------*/5021yysetstate:5022YYDPRINTF ((stderr, "Entering state %d\n", yystate));5023YY_ASSERT (0 <= yystate && yystate < YYNSTATES);5024YY_IGNORE_USELESS_CAST_BEGIN5025*yyssp = YY_CAST (yy_state_t, yystate);5026YY_IGNORE_USELESS_CAST_END5027YY_STACK_PRINT (yyss, yyssp);50285029if (yyss + yystacksize - 1 <= yyssp)5030#if !defined yyoverflow && !defined YYSTACK_RELOCATE5031YYNOMEM;5032#else5033{5034/* Get the current used size of the three stacks, in elements. */5035YYPTRDIFF_T yysize = yyssp - yyss + 1;50365037# if defined yyoverflow5038{5039/* Give user a chance to reallocate the stack. Use copies of5040these so that the &'s don't force the real ones into5041memory. */5042yy_state_t *yyss1 = yyss;5043YYSTYPE *yyvs1 = yyvs;50445045/* Each stack pointer address is followed by the size of the5046data in use in that stack, in bytes. This used to be a5047conditional around just the two extra args, but that might5048be undefined if yyoverflow is a macro. */5049yyoverflow (YY_("memory exhausted"),5050&yyss1, yysize * YYSIZEOF (*yyssp),5051&yyvs1, yysize * YYSIZEOF (*yyvsp),5052&yystacksize);5053yyss = yyss1;5054yyvs = yyvs1;5055}5056# else /* defined YYSTACK_RELOCATE */5057/* Extend the stack our own way. */5058if (YYMAXDEPTH <= yystacksize)5059YYNOMEM;5060yystacksize *= 2;5061if (YYMAXDEPTH < yystacksize)5062yystacksize = YYMAXDEPTH;50635064{5065yy_state_t *yyss1 = yyss;5066union yyalloc *yyptr =5067YY_CAST (union yyalloc *,5068YYSTACK_ALLOC (YY_CAST (YYSIZE_T, YYSTACK_BYTES (yystacksize))));5069if (! yyptr)5070YYNOMEM;5071YYSTACK_RELOCATE (yyss_alloc, yyss);5072YYSTACK_RELOCATE (yyvs_alloc, yyvs);5073# undef YYSTACK_RELOCATE5074if (yyss1 != yyssa)5075YYSTACK_FREE (yyss1);5076}5077# endif50785079yyssp = yyss + yysize - 1;5080yyvsp = yyvs + yysize - 1;50815082YY_IGNORE_USELESS_CAST_BEGIN5083YYDPRINTF ((stderr, "Stack size increased to %ld\n",5084YY_CAST (long, yystacksize)));5085YY_IGNORE_USELESS_CAST_END50865087if (yyss + yystacksize - 1 <= yyssp)5088YYABORT;5089}5090#endif /* !defined yyoverflow && !defined YYSTACK_RELOCATE */509150925093if (yystate == YYFINAL)5094YYACCEPT;50955096goto yybackup;509750985099/*-----------.5100| yybackup. |5101`-----------*/5102yybackup:5103/* Do appropriate processing given the current state. Read a5104lookahead token if we need one and don't already have one. */51055106/* First try to decide what to do without reference to lookahead token. */5107yyn = yypact[yystate];5108if (yypact_value_is_default (yyn))5109goto yydefault;51105111/* Not known => get a lookahead token if don't already have one. */51125113/* YYCHAR is either empty, or end-of-input, or a valid lookahead. */5114if (yychar == YYEMPTY)5115{5116YYDPRINTF ((stderr, "Reading a token\n"));5117yychar = yylex (&yylval, parseContext);5118}51195120if (yychar <= YYEOF)5121{5122yychar = YYEOF;5123yytoken = YYSYMBOL_YYEOF;5124YYDPRINTF ((stderr, "Now at end of input.\n"));5125}5126else if (yychar == YYerror)5127{5128/* The scanner already issued an error message, process directly5129to error recovery. But do not keep the error token as5130lookahead, it is too special and may lead us to an endless5131loop in error recovery. */5132yychar = YYUNDEF;5133yytoken = YYSYMBOL_YYerror;5134goto yyerrlab1;5135}5136else5137{5138yytoken = YYTRANSLATE (yychar);5139YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);5140}51415142/* If the proper action on seeing token YYTOKEN is to reduce or to5143detect an error, take that action. */5144yyn += yytoken;5145if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)5146goto yydefault;5147yyn = yytable[yyn];5148if (yyn <= 0)5149{5150if (yytable_value_is_error (yyn))5151goto yyerrlab;5152yyn = -yyn;5153goto yyreduce;5154}51555156/* Count tokens shifted since error; after three, turn off error5157status. */5158if (yyerrstatus)5159yyerrstatus--;51605161/* Shift the lookahead token. */5162YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);5163yystate = yyn;5164YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN5165*++yyvsp = yylval;5166YY_IGNORE_MAYBE_UNINITIALIZED_END51675168/* Discard the shifted token. */5169yychar = YYEMPTY;5170goto yynewstate;517151725173/*-----------------------------------------------------------.5174| yydefault -- do the default action for the current state. |5175`-----------------------------------------------------------*/5176yydefault:5177yyn = yydefact[yystate];5178if (yyn == 0)5179goto yyerrlab;5180goto yyreduce;518151825183/*-----------------------------.5184| yyreduce -- do a reduction. |5185`-----------------------------*/5186yyreduce:5187/* yyn is the number of a rule to reduce with. */5188yylen = yyr2[yyn];51895190/* If YYLEN is nonzero, implement the default value of the action:5191'$$ = $1'.51925193Otherwise, the following line sets YYVAL to garbage.5194This behavior is undocumented and Bison5195users should not rely upon it. Assigning to YYVAL5196unconditionally makes the parser a bit smaller, and it avoids a5197GCC warning that YYVAL may be used uninitialized. */5198yyval = yyvsp[1-yylen];519952005201YY_REDUCE_PRINT (yyn);5202switch (yyn)5203{5204case 2: /* variable_identifier: IDENTIFIER */5205#line 355 "MachineIndependent/glslang.y"5206{5207(yyval.interm.intermTypedNode) = parseContext.handleVariable((yyvsp[0].lex).loc, (yyvsp[0].lex).symbol, (yyvsp[0].lex).string);5208}5209#line 5211 "MachineIndependent/glslang_tab.cpp"5210break;52115212case 3: /* primary_expression: variable_identifier */5213#line 361 "MachineIndependent/glslang.y"5214{5215(yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode);5216}5217#line 5219 "MachineIndependent/glslang_tab.cpp"5218break;52195220case 4: /* primary_expression: LEFT_PAREN expression RIGHT_PAREN */5221#line 364 "MachineIndependent/glslang.y"5222{5223(yyval.interm.intermTypedNode) = (yyvsp[-1].interm.intermTypedNode);5224if ((yyval.interm.intermTypedNode)->getAsConstantUnion())5225(yyval.interm.intermTypedNode)->getAsConstantUnion()->setExpression();5226}5227#line 5229 "MachineIndependent/glslang_tab.cpp"5228break;52295230case 5: /* primary_expression: FLOATCONSTANT */5231#line 369 "MachineIndependent/glslang.y"5232{5233(yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).d, EbtFloat, (yyvsp[0].lex).loc, true);5234}5235#line 5237 "MachineIndependent/glslang_tab.cpp"5236break;52375238case 6: /* primary_expression: INTCONSTANT */5239#line 372 "MachineIndependent/glslang.y"5240{5241(yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).i, (yyvsp[0].lex).loc, true);5242}5243#line 5245 "MachineIndependent/glslang_tab.cpp"5244break;52455246case 7: /* primary_expression: UINTCONSTANT */5247#line 375 "MachineIndependent/glslang.y"5248{5249parseContext.fullIntegerCheck((yyvsp[0].lex).loc, "unsigned literal");5250(yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).u, (yyvsp[0].lex).loc, true);5251}5252#line 5254 "MachineIndependent/glslang_tab.cpp"5253break;52545255case 8: /* primary_expression: BOOLCONSTANT */5256#line 379 "MachineIndependent/glslang.y"5257{5258(yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).b, (yyvsp[0].lex).loc, true);5259}5260#line 5262 "MachineIndependent/glslang_tab.cpp"5261break;52625263case 9: /* primary_expression: STRING_LITERAL */5264#line 382 "MachineIndependent/glslang.y"5265{5266(yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).string, (yyvsp[0].lex).loc, true);5267}5268#line 5270 "MachineIndependent/glslang_tab.cpp"5269break;52705271case 10: /* primary_expression: INT32CONSTANT */5272#line 385 "MachineIndependent/glslang.y"5273{5274parseContext.explicitInt32Check((yyvsp[0].lex).loc, "32-bit signed literal");5275(yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).i, (yyvsp[0].lex).loc, true);5276}5277#line 5279 "MachineIndependent/glslang_tab.cpp"5278break;52795280case 11: /* primary_expression: UINT32CONSTANT */5281#line 389 "MachineIndependent/glslang.y"5282{5283parseContext.explicitInt32Check((yyvsp[0].lex).loc, "32-bit signed literal");5284(yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).u, (yyvsp[0].lex).loc, true);5285}5286#line 5288 "MachineIndependent/glslang_tab.cpp"5287break;52885289case 12: /* primary_expression: INT64CONSTANT */5290#line 393 "MachineIndependent/glslang.y"5291{5292parseContext.int64Check((yyvsp[0].lex).loc, "64-bit integer literal");5293(yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).i64, (yyvsp[0].lex).loc, true);5294}5295#line 5297 "MachineIndependent/glslang_tab.cpp"5296break;52975298case 13: /* primary_expression: UINT64CONSTANT */5299#line 397 "MachineIndependent/glslang.y"5300{5301parseContext.int64Check((yyvsp[0].lex).loc, "64-bit unsigned integer literal");5302(yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).u64, (yyvsp[0].lex).loc, true);5303}5304#line 5306 "MachineIndependent/glslang_tab.cpp"5305break;53065307case 14: /* primary_expression: INT16CONSTANT */5308#line 401 "MachineIndependent/glslang.y"5309{5310parseContext.explicitInt16Check((yyvsp[0].lex).loc, "16-bit integer literal");5311(yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion((short)(yyvsp[0].lex).i, (yyvsp[0].lex).loc, true);5312}5313#line 5315 "MachineIndependent/glslang_tab.cpp"5314break;53155316case 15: /* primary_expression: UINT16CONSTANT */5317#line 405 "MachineIndependent/glslang.y"5318{5319parseContext.explicitInt16Check((yyvsp[0].lex).loc, "16-bit unsigned integer literal");5320(yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion((unsigned short)(yyvsp[0].lex).u, (yyvsp[0].lex).loc, true);5321}5322#line 5324 "MachineIndependent/glslang_tab.cpp"5323break;53245325case 16: /* primary_expression: DOUBLECONSTANT */5326#line 409 "MachineIndependent/glslang.y"5327{5328parseContext.requireProfile((yyvsp[0].lex).loc, ECoreProfile | ECompatibilityProfile, "double literal");5329if (! parseContext.symbolTable.atBuiltInLevel())5330parseContext.doubleCheck((yyvsp[0].lex).loc, "double literal");5331(yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).d, EbtDouble, (yyvsp[0].lex).loc, true);5332}5333#line 5335 "MachineIndependent/glslang_tab.cpp"5334break;53355336case 17: /* primary_expression: FLOAT16CONSTANT */5337#line 415 "MachineIndependent/glslang.y"5338{5339parseContext.float16Check((yyvsp[0].lex).loc, "half float literal");5340(yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).d, EbtFloat16, (yyvsp[0].lex).loc, true);5341}5342#line 5344 "MachineIndependent/glslang_tab.cpp"5343break;53445345case 18: /* postfix_expression: primary_expression */5346#line 422 "MachineIndependent/glslang.y"5347{5348(yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode);5349}5350#line 5352 "MachineIndependent/glslang_tab.cpp"5351break;53525353case 19: /* postfix_expression: postfix_expression LEFT_BRACKET integer_expression RIGHT_BRACKET */5354#line 425 "MachineIndependent/glslang.y"5355{5356(yyval.interm.intermTypedNode) = parseContext.handleBracketDereference((yyvsp[-2].lex).loc, (yyvsp[-3].interm.intermTypedNode), (yyvsp[-1].interm.intermTypedNode));5357}5358#line 5360 "MachineIndependent/glslang_tab.cpp"5359break;53605361case 20: /* postfix_expression: function_call */5362#line 428 "MachineIndependent/glslang.y"5363{5364(yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode);5365}5366#line 5368 "MachineIndependent/glslang_tab.cpp"5367break;53685369case 21: /* postfix_expression: postfix_expression DOT IDENTIFIER */5370#line 431 "MachineIndependent/glslang.y"5371{5372(yyval.interm.intermTypedNode) = parseContext.handleDotDereference((yyvsp[0].lex).loc, (yyvsp[-2].interm.intermTypedNode), *(yyvsp[0].lex).string);5373}5374#line 5376 "MachineIndependent/glslang_tab.cpp"5375break;53765377case 22: /* postfix_expression: postfix_expression INC_OP */5378#line 434 "MachineIndependent/glslang.y"5379{5380parseContext.variableCheck((yyvsp[-1].interm.intermTypedNode));5381parseContext.lValueErrorCheck((yyvsp[0].lex).loc, "++", (yyvsp[-1].interm.intermTypedNode));5382(yyval.interm.intermTypedNode) = parseContext.handleUnaryMath((yyvsp[0].lex).loc, "++", EOpPostIncrement, (yyvsp[-1].interm.intermTypedNode));5383}5384#line 5386 "MachineIndependent/glslang_tab.cpp"5385break;53865387case 23: /* postfix_expression: postfix_expression DEC_OP */5388#line 439 "MachineIndependent/glslang.y"5389{5390parseContext.variableCheck((yyvsp[-1].interm.intermTypedNode));5391parseContext.lValueErrorCheck((yyvsp[0].lex).loc, "--", (yyvsp[-1].interm.intermTypedNode));5392(yyval.interm.intermTypedNode) = parseContext.handleUnaryMath((yyvsp[0].lex).loc, "--", EOpPostDecrement, (yyvsp[-1].interm.intermTypedNode));5393}5394#line 5396 "MachineIndependent/glslang_tab.cpp"5395break;53965397case 24: /* integer_expression: expression */5398#line 447 "MachineIndependent/glslang.y"5399{5400parseContext.integerCheck((yyvsp[0].interm.intermTypedNode), "[]");5401(yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode);5402}5403#line 5405 "MachineIndependent/glslang_tab.cpp"5404break;54055406case 25: /* function_call: function_call_or_method */5407#line 454 "MachineIndependent/glslang.y"5408{5409(yyval.interm.intermTypedNode) = parseContext.handleFunctionCall((yyvsp[0].interm).loc, (yyvsp[0].interm).function, (yyvsp[0].interm).intermNode);5410delete (yyvsp[0].interm).function;5411}5412#line 5414 "MachineIndependent/glslang_tab.cpp"5413break;54145415case 26: /* function_call_or_method: function_call_generic */5416#line 461 "MachineIndependent/glslang.y"5417{5418(yyval.interm) = (yyvsp[0].interm);5419}5420#line 5422 "MachineIndependent/glslang_tab.cpp"5421break;54225423case 27: /* function_call_generic: function_call_header_with_parameters RIGHT_PAREN */5424#line 467 "MachineIndependent/glslang.y"5425{5426(yyval.interm) = (yyvsp[-1].interm);5427(yyval.interm).loc = (yyvsp[0].lex).loc;5428}5429#line 5431 "MachineIndependent/glslang_tab.cpp"5430break;54315432case 28: /* function_call_generic: function_call_header_no_parameters RIGHT_PAREN */5433#line 471 "MachineIndependent/glslang.y"5434{5435(yyval.interm) = (yyvsp[-1].interm);5436(yyval.interm).loc = (yyvsp[0].lex).loc;5437}5438#line 5440 "MachineIndependent/glslang_tab.cpp"5439break;54405441case 29: /* function_call_header_no_parameters: function_call_header VOID */5442#line 478 "MachineIndependent/glslang.y"5443{5444(yyval.interm) = (yyvsp[-1].interm);5445}5446#line 5448 "MachineIndependent/glslang_tab.cpp"5447break;54485449case 30: /* function_call_header_no_parameters: function_call_header */5450#line 481 "MachineIndependent/glslang.y"5451{5452(yyval.interm) = (yyvsp[0].interm);5453}5454#line 5456 "MachineIndependent/glslang_tab.cpp"5455break;54565457case 31: /* function_call_header_with_parameters: function_call_header assignment_expression */5458#line 487 "MachineIndependent/glslang.y"5459{5460if (parseContext.spvVersion.vulkan > 05461&& parseContext.spvVersion.vulkanRelaxed5462&& (yyvsp[0].interm.intermTypedNode)->getType().containsOpaque())5463{5464(yyval.interm).intermNode = parseContext.vkRelaxedRemapFunctionArgument((yyval.interm).loc, (yyvsp[-1].interm).function, (yyvsp[0].interm.intermTypedNode));5465(yyval.interm).function = (yyvsp[-1].interm).function;5466}5467else5468{5469TParameter param = { 0, new TType, {} };5470param.type->shallowCopy((yyvsp[0].interm.intermTypedNode)->getType());54715472(yyvsp[-1].interm).function->addParameter(param);5473(yyval.interm).function = (yyvsp[-1].interm).function;5474(yyval.interm).intermNode = (yyvsp[0].interm.intermTypedNode);5475}5476}5477#line 5479 "MachineIndependent/glslang_tab.cpp"5478break;54795480case 32: /* function_call_header_with_parameters: function_call_header_with_parameters COMMA assignment_expression */5481#line 505 "MachineIndependent/glslang.y"5482{5483if (parseContext.spvVersion.vulkan > 05484&& parseContext.spvVersion.vulkanRelaxed5485&& (yyvsp[0].interm.intermTypedNode)->getType().containsOpaque())5486{5487TIntermNode* remappedNode = parseContext.vkRelaxedRemapFunctionArgument((yyvsp[-1].lex).loc, (yyvsp[-2].interm).function, (yyvsp[0].interm.intermTypedNode));5488if (remappedNode == (yyvsp[0].interm.intermTypedNode))5489(yyval.interm).intermNode = parseContext.intermediate.growAggregate((yyvsp[-2].interm).intermNode, (yyvsp[0].interm.intermTypedNode), (yyvsp[-1].lex).loc);5490else5491(yyval.interm).intermNode = parseContext.intermediate.mergeAggregate((yyvsp[-2].interm).intermNode, remappedNode, (yyvsp[-1].lex).loc);5492(yyval.interm).function = (yyvsp[-2].interm).function;5493}5494else5495{5496TParameter param = { 0, new TType, {} };5497param.type->shallowCopy((yyvsp[0].interm.intermTypedNode)->getType());54985499(yyvsp[-2].interm).function->addParameter(param);5500(yyval.interm).function = (yyvsp[-2].interm).function;5501(yyval.interm).intermNode = parseContext.intermediate.growAggregate((yyvsp[-2].interm).intermNode, (yyvsp[0].interm.intermTypedNode), (yyvsp[-1].lex).loc);5502}5503}5504#line 5506 "MachineIndependent/glslang_tab.cpp"5505break;55065507case 33: /* function_call_header: function_identifier LEFT_PAREN */5508#line 530 "MachineIndependent/glslang.y"5509{5510(yyval.interm) = (yyvsp[-1].interm);5511}5512#line 5514 "MachineIndependent/glslang_tab.cpp"5513break;55145515case 34: /* function_identifier: type_specifier */5516#line 538 "MachineIndependent/glslang.y"5517{5518// Constructor5519(yyval.interm).intermNode = 0;5520(yyval.interm).function = parseContext.handleConstructorCall((yyvsp[0].interm.type).loc, (yyvsp[0].interm.type));5521}5522#line 5524 "MachineIndependent/glslang_tab.cpp"5523break;55245525case 35: /* function_identifier: postfix_expression */5526#line 543 "MachineIndependent/glslang.y"5527{5528//5529// Should be a method or subroutine call, but we haven't recognized the arguments yet.5530//5531(yyval.interm).function = 0;5532(yyval.interm).intermNode = 0;55335534TIntermMethod* method = (yyvsp[0].interm.intermTypedNode)->getAsMethodNode();5535if (method) {5536(yyval.interm).function = new TFunction(&method->getMethodName(), TType(EbtInt), EOpArrayLength);5537(yyval.interm).intermNode = method->getObject();5538} else {5539TIntermSymbol* symbol = (yyvsp[0].interm.intermTypedNode)->getAsSymbolNode();5540if (symbol) {5541parseContext.reservedErrorCheck(symbol->getLoc(), symbol->getName());5542TFunction *function = new TFunction(&symbol->getName(), TType(EbtVoid));5543(yyval.interm).function = function;5544} else5545parseContext.error((yyvsp[0].interm.intermTypedNode)->getLoc(), "function call, method, or subroutine call expected", "", "");5546}55475548if ((yyval.interm).function == 0) {5549// error recover5550TString* empty = NewPoolTString("");5551(yyval.interm).function = new TFunction(empty, TType(EbtVoid), EOpNull);5552}5553}5554#line 5556 "MachineIndependent/glslang_tab.cpp"5555break;55565557case 36: /* function_identifier: non_uniform_qualifier */5558#line 570 "MachineIndependent/glslang.y"5559{5560// Constructor5561(yyval.interm).intermNode = 0;5562(yyval.interm).function = parseContext.handleConstructorCall((yyvsp[0].interm.type).loc, (yyvsp[0].interm.type));5563}5564#line 5566 "MachineIndependent/glslang_tab.cpp"5565break;55665567case 37: /* unary_expression: postfix_expression */5568#line 578 "MachineIndependent/glslang.y"5569{5570parseContext.variableCheck((yyvsp[0].interm.intermTypedNode));5571(yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode);5572if (TIntermMethod* method = (yyvsp[0].interm.intermTypedNode)->getAsMethodNode())5573parseContext.error((yyvsp[0].interm.intermTypedNode)->getLoc(), "incomplete method syntax", method->getMethodName().c_str(), "");5574}5575#line 5577 "MachineIndependent/glslang_tab.cpp"5576break;55775578case 38: /* unary_expression: INC_OP unary_expression */5579#line 584 "MachineIndependent/glslang.y"5580{5581parseContext.lValueErrorCheck((yyvsp[-1].lex).loc, "++", (yyvsp[0].interm.intermTypedNode));5582(yyval.interm.intermTypedNode) = parseContext.handleUnaryMath((yyvsp[-1].lex).loc, "++", EOpPreIncrement, (yyvsp[0].interm.intermTypedNode));5583}5584#line 5586 "MachineIndependent/glslang_tab.cpp"5585break;55865587case 39: /* unary_expression: DEC_OP unary_expression */5588#line 588 "MachineIndependent/glslang.y"5589{5590parseContext.lValueErrorCheck((yyvsp[-1].lex).loc, "--", (yyvsp[0].interm.intermTypedNode));5591(yyval.interm.intermTypedNode) = parseContext.handleUnaryMath((yyvsp[-1].lex).loc, "--", EOpPreDecrement, (yyvsp[0].interm.intermTypedNode));5592}5593#line 5595 "MachineIndependent/glslang_tab.cpp"5594break;55955596case 40: /* unary_expression: unary_operator unary_expression */5597#line 592 "MachineIndependent/glslang.y"5598{5599if ((yyvsp[-1].interm).op != EOpNull) {5600char errorOp[2] = {0, 0};5601switch((yyvsp[-1].interm).op) {5602case EOpNegative: errorOp[0] = '-'; break;5603case EOpLogicalNot: errorOp[0] = '!'; break;5604case EOpBitwiseNot: errorOp[0] = '~'; break;5605default: break; // some compilers want this5606}5607(yyval.interm.intermTypedNode) = parseContext.handleUnaryMath((yyvsp[-1].interm).loc, errorOp, (yyvsp[-1].interm).op, (yyvsp[0].interm.intermTypedNode));5608} else {5609(yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode);5610if ((yyval.interm.intermTypedNode)->getAsConstantUnion())5611(yyval.interm.intermTypedNode)->getAsConstantUnion()->setExpression();5612}5613}5614#line 5616 "MachineIndependent/glslang_tab.cpp"5615break;56165617case 41: /* unary_operator: PLUS */5618#line 612 "MachineIndependent/glslang.y"5619{ (yyval.interm).loc = (yyvsp[0].lex).loc; (yyval.interm).op = EOpNull; }5620#line 5622 "MachineIndependent/glslang_tab.cpp"5621break;56225623case 42: /* unary_operator: DASH */5624#line 613 "MachineIndependent/glslang.y"5625{ (yyval.interm).loc = (yyvsp[0].lex).loc; (yyval.interm).op = EOpNegative; }5626#line 5628 "MachineIndependent/glslang_tab.cpp"5627break;56285629case 43: /* unary_operator: BANG */5630#line 614 "MachineIndependent/glslang.y"5631{ (yyval.interm).loc = (yyvsp[0].lex).loc; (yyval.interm).op = EOpLogicalNot; }5632#line 5634 "MachineIndependent/glslang_tab.cpp"5633break;56345635case 44: /* unary_operator: TILDE */5636#line 615 "MachineIndependent/glslang.y"5637{ (yyval.interm).loc = (yyvsp[0].lex).loc; (yyval.interm).op = EOpBitwiseNot;5638parseContext.fullIntegerCheck((yyvsp[0].lex).loc, "bitwise not"); }5639#line 5641 "MachineIndependent/glslang_tab.cpp"5640break;56415642case 45: /* multiplicative_expression: unary_expression */5643#line 621 "MachineIndependent/glslang.y"5644{ (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); }5645#line 5647 "MachineIndependent/glslang_tab.cpp"5646break;56475648case 46: /* multiplicative_expression: multiplicative_expression STAR unary_expression */5649#line 622 "MachineIndependent/glslang.y"5650{5651(yyval.interm.intermTypedNode) = parseContext.handleBinaryMath((yyvsp[-1].lex).loc, "*", EOpMul, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode));5652if ((yyval.interm.intermTypedNode) == 0)5653(yyval.interm.intermTypedNode) = (yyvsp[-2].interm.intermTypedNode);5654}5655#line 5657 "MachineIndependent/glslang_tab.cpp"5656break;56575658case 47: /* multiplicative_expression: multiplicative_expression SLASH unary_expression */5659#line 627 "MachineIndependent/glslang.y"5660{5661(yyval.interm.intermTypedNode) = parseContext.handleBinaryMath((yyvsp[-1].lex).loc, "/", EOpDiv, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode));5662if ((yyval.interm.intermTypedNode) == 0)5663(yyval.interm.intermTypedNode) = (yyvsp[-2].interm.intermTypedNode);5664}5665#line 5667 "MachineIndependent/glslang_tab.cpp"5666break;56675668case 48: /* multiplicative_expression: multiplicative_expression PERCENT unary_expression */5669#line 632 "MachineIndependent/glslang.y"5670{5671parseContext.fullIntegerCheck((yyvsp[-1].lex).loc, "%");5672(yyval.interm.intermTypedNode) = parseContext.handleBinaryMath((yyvsp[-1].lex).loc, "%", EOpMod, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode));5673if ((yyval.interm.intermTypedNode) == 0)5674(yyval.interm.intermTypedNode) = (yyvsp[-2].interm.intermTypedNode);5675}5676#line 5678 "MachineIndependent/glslang_tab.cpp"5677break;56785679case 49: /* additive_expression: multiplicative_expression */5680#line 641 "MachineIndependent/glslang.y"5681{ (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); }5682#line 5684 "MachineIndependent/glslang_tab.cpp"5683break;56845685case 50: /* additive_expression: additive_expression PLUS multiplicative_expression */5686#line 642 "MachineIndependent/glslang.y"5687{5688(yyval.interm.intermTypedNode) = parseContext.handleBinaryMath((yyvsp[-1].lex).loc, "+", EOpAdd, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode));5689if ((yyval.interm.intermTypedNode) == 0)5690(yyval.interm.intermTypedNode) = (yyvsp[-2].interm.intermTypedNode);5691}5692#line 5694 "MachineIndependent/glslang_tab.cpp"5693break;56945695case 51: /* additive_expression: additive_expression DASH multiplicative_expression */5696#line 647 "MachineIndependent/glslang.y"5697{5698(yyval.interm.intermTypedNode) = parseContext.handleBinaryMath((yyvsp[-1].lex).loc, "-", EOpSub, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode));5699if ((yyval.interm.intermTypedNode) == 0)5700(yyval.interm.intermTypedNode) = (yyvsp[-2].interm.intermTypedNode);5701}5702#line 5704 "MachineIndependent/glslang_tab.cpp"5703break;57045705case 52: /* shift_expression: additive_expression */5706#line 655 "MachineIndependent/glslang.y"5707{ (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); }5708#line 5710 "MachineIndependent/glslang_tab.cpp"5709break;57105711case 53: /* shift_expression: shift_expression LEFT_OP additive_expression */5712#line 656 "MachineIndependent/glslang.y"5713{5714parseContext.fullIntegerCheck((yyvsp[-1].lex).loc, "bit shift left");5715(yyval.interm.intermTypedNode) = parseContext.handleBinaryMath((yyvsp[-1].lex).loc, "<<", EOpLeftShift, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode));5716if ((yyval.interm.intermTypedNode) == 0)5717(yyval.interm.intermTypedNode) = (yyvsp[-2].interm.intermTypedNode);5718}5719#line 5721 "MachineIndependent/glslang_tab.cpp"5720break;57215722case 54: /* shift_expression: shift_expression RIGHT_OP additive_expression */5723#line 662 "MachineIndependent/glslang.y"5724{5725parseContext.fullIntegerCheck((yyvsp[-1].lex).loc, "bit shift right");5726(yyval.interm.intermTypedNode) = parseContext.handleBinaryMath((yyvsp[-1].lex).loc, ">>", EOpRightShift, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode));5727if ((yyval.interm.intermTypedNode) == 0)5728(yyval.interm.intermTypedNode) = (yyvsp[-2].interm.intermTypedNode);5729}5730#line 5732 "MachineIndependent/glslang_tab.cpp"5731break;57325733case 55: /* relational_expression: shift_expression */5734#line 671 "MachineIndependent/glslang.y"5735{ (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); }5736#line 5738 "MachineIndependent/glslang_tab.cpp"5737break;57385739case 56: /* relational_expression: relational_expression LEFT_ANGLE shift_expression */5740#line 672 "MachineIndependent/glslang.y"5741{5742(yyval.interm.intermTypedNode) = parseContext.handleBinaryMath((yyvsp[-1].lex).loc, "<", EOpLessThan, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode));5743if ((yyval.interm.intermTypedNode) == 0)5744(yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion(false, (yyvsp[-1].lex).loc);5745}5746#line 5748 "MachineIndependent/glslang_tab.cpp"5747break;57485749case 57: /* relational_expression: relational_expression RIGHT_ANGLE shift_expression */5750#line 677 "MachineIndependent/glslang.y"5751{5752(yyval.interm.intermTypedNode) = parseContext.handleBinaryMath((yyvsp[-1].lex).loc, ">", EOpGreaterThan, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode));5753if ((yyval.interm.intermTypedNode) == 0)5754(yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion(false, (yyvsp[-1].lex).loc);5755}5756#line 5758 "MachineIndependent/glslang_tab.cpp"5757break;57585759case 58: /* relational_expression: relational_expression LE_OP shift_expression */5760#line 682 "MachineIndependent/glslang.y"5761{5762(yyval.interm.intermTypedNode) = parseContext.handleBinaryMath((yyvsp[-1].lex).loc, "<=", EOpLessThanEqual, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode));5763if ((yyval.interm.intermTypedNode) == 0)5764(yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion(false, (yyvsp[-1].lex).loc);5765}5766#line 5768 "MachineIndependent/glslang_tab.cpp"5767break;57685769case 59: /* relational_expression: relational_expression GE_OP shift_expression */5770#line 687 "MachineIndependent/glslang.y"5771{5772(yyval.interm.intermTypedNode) = parseContext.handleBinaryMath((yyvsp[-1].lex).loc, ">=", EOpGreaterThanEqual, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode));5773if ((yyval.interm.intermTypedNode) == 0)5774(yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion(false, (yyvsp[-1].lex).loc);5775}5776#line 5778 "MachineIndependent/glslang_tab.cpp"5777break;57785779case 60: /* equality_expression: relational_expression */5780#line 695 "MachineIndependent/glslang.y"5781{ (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); }5782#line 5784 "MachineIndependent/glslang_tab.cpp"5783break;57845785case 61: /* equality_expression: equality_expression EQ_OP relational_expression */5786#line 696 "MachineIndependent/glslang.y"5787{5788parseContext.arrayObjectCheck((yyvsp[-1].lex).loc, (yyvsp[-2].interm.intermTypedNode)->getType(), "array comparison");5789parseContext.opaqueCheck((yyvsp[-1].lex).loc, (yyvsp[-2].interm.intermTypedNode)->getType(), "==");5790parseContext.specializationCheck((yyvsp[-1].lex).loc, (yyvsp[-2].interm.intermTypedNode)->getType(), "==");5791parseContext.referenceCheck((yyvsp[-1].lex).loc, (yyvsp[-2].interm.intermTypedNode)->getType(), "==");5792(yyval.interm.intermTypedNode) = parseContext.handleBinaryMath((yyvsp[-1].lex).loc, "==", EOpEqual, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode));5793if ((yyval.interm.intermTypedNode) == 0)5794(yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion(false, (yyvsp[-1].lex).loc);5795}5796#line 5798 "MachineIndependent/glslang_tab.cpp"5797break;57985799case 62: /* equality_expression: equality_expression NE_OP relational_expression */5800#line 705 "MachineIndependent/glslang.y"5801{5802parseContext.arrayObjectCheck((yyvsp[-1].lex).loc, (yyvsp[-2].interm.intermTypedNode)->getType(), "array comparison");5803parseContext.opaqueCheck((yyvsp[-1].lex).loc, (yyvsp[-2].interm.intermTypedNode)->getType(), "!=");5804parseContext.specializationCheck((yyvsp[-1].lex).loc, (yyvsp[-2].interm.intermTypedNode)->getType(), "!=");5805parseContext.referenceCheck((yyvsp[-1].lex).loc, (yyvsp[-2].interm.intermTypedNode)->getType(), "!=");5806(yyval.interm.intermTypedNode) = parseContext.handleBinaryMath((yyvsp[-1].lex).loc, "!=", EOpNotEqual, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode));5807if ((yyval.interm.intermTypedNode) == 0)5808(yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion(false, (yyvsp[-1].lex).loc);5809}5810#line 5812 "MachineIndependent/glslang_tab.cpp"5811break;58125813case 63: /* and_expression: equality_expression */5814#line 717 "MachineIndependent/glslang.y"5815{ (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); }5816#line 5818 "MachineIndependent/glslang_tab.cpp"5817break;58185819case 64: /* and_expression: and_expression AMPERSAND equality_expression */5820#line 718 "MachineIndependent/glslang.y"5821{5822parseContext.fullIntegerCheck((yyvsp[-1].lex).loc, "bitwise and");5823(yyval.interm.intermTypedNode) = parseContext.handleBinaryMath((yyvsp[-1].lex).loc, "&", EOpAnd, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode));5824if ((yyval.interm.intermTypedNode) == 0)5825(yyval.interm.intermTypedNode) = (yyvsp[-2].interm.intermTypedNode);5826}5827#line 5829 "MachineIndependent/glslang_tab.cpp"5828break;58295830case 65: /* exclusive_or_expression: and_expression */5831#line 727 "MachineIndependent/glslang.y"5832{ (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); }5833#line 5835 "MachineIndependent/glslang_tab.cpp"5834break;58355836case 66: /* exclusive_or_expression: exclusive_or_expression CARET and_expression */5837#line 728 "MachineIndependent/glslang.y"5838{5839parseContext.fullIntegerCheck((yyvsp[-1].lex).loc, "bitwise exclusive or");5840(yyval.interm.intermTypedNode) = parseContext.handleBinaryMath((yyvsp[-1].lex).loc, "^", EOpExclusiveOr, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode));5841if ((yyval.interm.intermTypedNode) == 0)5842(yyval.interm.intermTypedNode) = (yyvsp[-2].interm.intermTypedNode);5843}5844#line 5846 "MachineIndependent/glslang_tab.cpp"5845break;58465847case 67: /* inclusive_or_expression: exclusive_or_expression */5848#line 737 "MachineIndependent/glslang.y"5849{ (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); }5850#line 5852 "MachineIndependent/glslang_tab.cpp"5851break;58525853case 68: /* inclusive_or_expression: inclusive_or_expression VERTICAL_BAR exclusive_or_expression */5854#line 738 "MachineIndependent/glslang.y"5855{5856parseContext.fullIntegerCheck((yyvsp[-1].lex).loc, "bitwise inclusive or");5857(yyval.interm.intermTypedNode) = parseContext.handleBinaryMath((yyvsp[-1].lex).loc, "|", EOpInclusiveOr, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode));5858if ((yyval.interm.intermTypedNode) == 0)5859(yyval.interm.intermTypedNode) = (yyvsp[-2].interm.intermTypedNode);5860}5861#line 5863 "MachineIndependent/glslang_tab.cpp"5862break;58635864case 69: /* logical_and_expression: inclusive_or_expression */5865#line 747 "MachineIndependent/glslang.y"5866{ (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); }5867#line 5869 "MachineIndependent/glslang_tab.cpp"5868break;58695870case 70: /* logical_and_expression: logical_and_expression AND_OP inclusive_or_expression */5871#line 748 "MachineIndependent/glslang.y"5872{5873(yyval.interm.intermTypedNode) = parseContext.handleBinaryMath((yyvsp[-1].lex).loc, "&&", EOpLogicalAnd, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode));5874if ((yyval.interm.intermTypedNode) == 0)5875(yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion(false, (yyvsp[-1].lex).loc);5876}5877#line 5879 "MachineIndependent/glslang_tab.cpp"5878break;58795880case 71: /* logical_xor_expression: logical_and_expression */5881#line 756 "MachineIndependent/glslang.y"5882{ (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); }5883#line 5885 "MachineIndependent/glslang_tab.cpp"5884break;58855886case 72: /* logical_xor_expression: logical_xor_expression XOR_OP logical_and_expression */5887#line 757 "MachineIndependent/glslang.y"5888{5889(yyval.interm.intermTypedNode) = parseContext.handleBinaryMath((yyvsp[-1].lex).loc, "^^", EOpLogicalXor, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode));5890if ((yyval.interm.intermTypedNode) == 0)5891(yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion(false, (yyvsp[-1].lex).loc);5892}5893#line 5895 "MachineIndependent/glslang_tab.cpp"5894break;58955896case 73: /* logical_or_expression: logical_xor_expression */5897#line 765 "MachineIndependent/glslang.y"5898{ (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); }5899#line 5901 "MachineIndependent/glslang_tab.cpp"5900break;59015902case 74: /* logical_or_expression: logical_or_expression OR_OP logical_xor_expression */5903#line 766 "MachineIndependent/glslang.y"5904{5905(yyval.interm.intermTypedNode) = parseContext.handleBinaryMath((yyvsp[-1].lex).loc, "||", EOpLogicalOr, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode));5906if ((yyval.interm.intermTypedNode) == 0)5907(yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion(false, (yyvsp[-1].lex).loc);5908}5909#line 5911 "MachineIndependent/glslang_tab.cpp"5910break;59115912case 75: /* conditional_expression: logical_or_expression */5913#line 774 "MachineIndependent/glslang.y"5914{ (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); }5915#line 5917 "MachineIndependent/glslang_tab.cpp"5916break;59175918case 76: /* $@1: %empty */5919#line 775 "MachineIndependent/glslang.y"5920{5921++parseContext.controlFlowNestingLevel;5922}5923#line 5925 "MachineIndependent/glslang_tab.cpp"5924break;59255926case 77: /* conditional_expression: logical_or_expression QUESTION $@1 expression COLON assignment_expression */5927#line 778 "MachineIndependent/glslang.y"5928{5929--parseContext.controlFlowNestingLevel;5930parseContext.boolCheck((yyvsp[-4].lex).loc, (yyvsp[-5].interm.intermTypedNode));5931parseContext.rValueErrorCheck((yyvsp[-4].lex).loc, "?", (yyvsp[-5].interm.intermTypedNode));5932parseContext.rValueErrorCheck((yyvsp[-1].lex).loc, ":", (yyvsp[-2].interm.intermTypedNode));5933parseContext.rValueErrorCheck((yyvsp[-1].lex).loc, ":", (yyvsp[0].interm.intermTypedNode));5934(yyval.interm.intermTypedNode) = parseContext.intermediate.addSelection((yyvsp[-5].interm.intermTypedNode), (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode), (yyvsp[-4].lex).loc);5935if ((yyval.interm.intermTypedNode) == 0) {5936parseContext.binaryOpError((yyvsp[-4].lex).loc, ":", (yyvsp[-2].interm.intermTypedNode)->getCompleteString(parseContext.intermediate.getEnhancedMsgs()), (yyvsp[0].interm.intermTypedNode)->getCompleteString(parseContext.intermediate.getEnhancedMsgs()));5937(yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode);5938}5939}5940#line 5942 "MachineIndependent/glslang_tab.cpp"5941break;59425943case 78: /* assignment_expression: conditional_expression */5944#line 793 "MachineIndependent/glslang.y"5945{ (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); }5946#line 5948 "MachineIndependent/glslang_tab.cpp"5947break;59485949case 79: /* assignment_expression: unary_expression assignment_operator assignment_expression */5950#line 794 "MachineIndependent/glslang.y"5951{5952parseContext.arrayObjectCheck((yyvsp[-1].interm).loc, (yyvsp[-2].interm.intermTypedNode)->getType(), "array assignment");5953parseContext.opaqueCheck((yyvsp[-1].interm).loc, (yyvsp[-2].interm.intermTypedNode)->getType(), "=");5954parseContext.storage16BitAssignmentCheck((yyvsp[-1].interm).loc, (yyvsp[-2].interm.intermTypedNode)->getType(), "=");5955parseContext.specializationCheck((yyvsp[-1].interm).loc, (yyvsp[-2].interm.intermTypedNode)->getType(), "=");5956parseContext.lValueErrorCheck((yyvsp[-1].interm).loc, "assign", (yyvsp[-2].interm.intermTypedNode));5957parseContext.rValueErrorCheck((yyvsp[-1].interm).loc, "assign", (yyvsp[0].interm.intermTypedNode));5958(yyval.interm.intermTypedNode) = parseContext.addAssign((yyvsp[-1].interm).loc, (yyvsp[-1].interm).op, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode));5959if ((yyval.interm.intermTypedNode) == 0) {5960parseContext.assignError((yyvsp[-1].interm).loc, "assign", (yyvsp[-2].interm.intermTypedNode)->getCompleteString(parseContext.intermediate.getEnhancedMsgs()), (yyvsp[0].interm.intermTypedNode)->getCompleteString(parseContext.intermediate.getEnhancedMsgs()));5961(yyval.interm.intermTypedNode) = (yyvsp[-2].interm.intermTypedNode);5962}5963}5964#line 5966 "MachineIndependent/glslang_tab.cpp"5965break;59665967case 80: /* assignment_operator: EQUAL */5968#line 810 "MachineIndependent/glslang.y"5969{5970(yyval.interm).loc = (yyvsp[0].lex).loc;5971(yyval.interm).op = EOpAssign;5972}5973#line 5975 "MachineIndependent/glslang_tab.cpp"5974break;59755976case 81: /* assignment_operator: MUL_ASSIGN */5977#line 814 "MachineIndependent/glslang.y"5978{5979(yyval.interm).loc = (yyvsp[0].lex).loc;5980(yyval.interm).op = EOpMulAssign;5981}5982#line 5984 "MachineIndependent/glslang_tab.cpp"5983break;59845985case 82: /* assignment_operator: DIV_ASSIGN */5986#line 818 "MachineIndependent/glslang.y"5987{5988(yyval.interm).loc = (yyvsp[0].lex).loc;5989(yyval.interm).op = EOpDivAssign;5990}5991#line 5993 "MachineIndependent/glslang_tab.cpp"5992break;59935994case 83: /* assignment_operator: MOD_ASSIGN */5995#line 822 "MachineIndependent/glslang.y"5996{5997parseContext.fullIntegerCheck((yyvsp[0].lex).loc, "%=");5998(yyval.interm).loc = (yyvsp[0].lex).loc;5999(yyval.interm).op = EOpModAssign;6000}6001#line 6003 "MachineIndependent/glslang_tab.cpp"6002break;60036004case 84: /* assignment_operator: ADD_ASSIGN */6005#line 827 "MachineIndependent/glslang.y"6006{6007(yyval.interm).loc = (yyvsp[0].lex).loc;6008(yyval.interm).op = EOpAddAssign;6009}6010#line 6012 "MachineIndependent/glslang_tab.cpp"6011break;60126013case 85: /* assignment_operator: SUB_ASSIGN */6014#line 831 "MachineIndependent/glslang.y"6015{6016(yyval.interm).loc = (yyvsp[0].lex).loc;6017(yyval.interm).op = EOpSubAssign;6018}6019#line 6021 "MachineIndependent/glslang_tab.cpp"6020break;60216022case 86: /* assignment_operator: LEFT_ASSIGN */6023#line 835 "MachineIndependent/glslang.y"6024{6025parseContext.fullIntegerCheck((yyvsp[0].lex).loc, "bit-shift left assign");6026(yyval.interm).loc = (yyvsp[0].lex).loc; (yyval.interm).op = EOpLeftShiftAssign;6027}6028#line 6030 "MachineIndependent/glslang_tab.cpp"6029break;60306031case 87: /* assignment_operator: RIGHT_ASSIGN */6032#line 839 "MachineIndependent/glslang.y"6033{6034parseContext.fullIntegerCheck((yyvsp[0].lex).loc, "bit-shift right assign");6035(yyval.interm).loc = (yyvsp[0].lex).loc; (yyval.interm).op = EOpRightShiftAssign;6036}6037#line 6039 "MachineIndependent/glslang_tab.cpp"6038break;60396040case 88: /* assignment_operator: AND_ASSIGN */6041#line 843 "MachineIndependent/glslang.y"6042{6043parseContext.fullIntegerCheck((yyvsp[0].lex).loc, "bitwise-and assign");6044(yyval.interm).loc = (yyvsp[0].lex).loc; (yyval.interm).op = EOpAndAssign;6045}6046#line 6048 "MachineIndependent/glslang_tab.cpp"6047break;60486049case 89: /* assignment_operator: XOR_ASSIGN */6050#line 847 "MachineIndependent/glslang.y"6051{6052parseContext.fullIntegerCheck((yyvsp[0].lex).loc, "bitwise-xor assign");6053(yyval.interm).loc = (yyvsp[0].lex).loc; (yyval.interm).op = EOpExclusiveOrAssign;6054}6055#line 6057 "MachineIndependent/glslang_tab.cpp"6056break;60576058case 90: /* assignment_operator: OR_ASSIGN */6059#line 851 "MachineIndependent/glslang.y"6060{6061parseContext.fullIntegerCheck((yyvsp[0].lex).loc, "bitwise-or assign");6062(yyval.interm).loc = (yyvsp[0].lex).loc; (yyval.interm).op = EOpInclusiveOrAssign;6063}6064#line 6066 "MachineIndependent/glslang_tab.cpp"6065break;60666067case 91: /* expression: assignment_expression */6068#line 858 "MachineIndependent/glslang.y"6069{6070(yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode);6071}6072#line 6074 "MachineIndependent/glslang_tab.cpp"6073break;60746075case 92: /* expression: expression COMMA assignment_expression */6076#line 861 "MachineIndependent/glslang.y"6077{6078parseContext.samplerConstructorLocationCheck((yyvsp[-1].lex).loc, ",", (yyvsp[0].interm.intermTypedNode));6079(yyval.interm.intermTypedNode) = parseContext.intermediate.addComma((yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode), (yyvsp[-1].lex).loc);6080if ((yyval.interm.intermTypedNode) == 0) {6081parseContext.binaryOpError((yyvsp[-1].lex).loc, ",", (yyvsp[-2].interm.intermTypedNode)->getCompleteString(parseContext.intermediate.getEnhancedMsgs()), (yyvsp[0].interm.intermTypedNode)->getCompleteString(parseContext.intermediate.getEnhancedMsgs()));6082(yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode);6083}6084}6085#line 6087 "MachineIndependent/glslang_tab.cpp"6086break;60876088case 93: /* constant_expression: conditional_expression */6089#line 872 "MachineIndependent/glslang.y"6090{6091parseContext.constantValueCheck((yyvsp[0].interm.intermTypedNode), "");6092(yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode);6093}6094#line 6096 "MachineIndependent/glslang_tab.cpp"6095break;60966097case 94: /* declaration: function_prototype SEMICOLON */6098#line 879 "MachineIndependent/glslang.y"6099{6100parseContext.handleFunctionDeclarator((yyvsp[-1].interm).loc, *(yyvsp[-1].interm).function, true /* prototype */);6101(yyval.interm.intermNode) = 0;6102// TODO: 4.0 functionality: subroutines: make the identifier a user type for this signature6103}6104#line 6106 "MachineIndependent/glslang_tab.cpp"6105break;61066107case 95: /* declaration: spirv_instruction_qualifier function_prototype SEMICOLON */6108#line 884 "MachineIndependent/glslang.y"6109{6110parseContext.requireExtensions((yyvsp[-1].interm).loc, 1, &E_GL_EXT_spirv_intrinsics, "SPIR-V instruction qualifier");6111(yyvsp[-1].interm).function->setSpirvInstruction(*(yyvsp[-2].interm.spirvInst)); // Attach SPIR-V intruction qualifier6112parseContext.handleFunctionDeclarator((yyvsp[-1].interm).loc, *(yyvsp[-1].interm).function, true /* prototype */);6113(yyval.interm.intermNode) = 0;6114// TODO: 4.0 functionality: subroutines: make the identifier a user type for this signature6115}6116#line 6118 "MachineIndependent/glslang_tab.cpp"6117break;61186119case 96: /* declaration: spirv_execution_mode_qualifier SEMICOLON */6120#line 891 "MachineIndependent/glslang.y"6121{6122parseContext.globalCheck((yyvsp[0].lex).loc, "SPIR-V execution mode qualifier");6123parseContext.requireExtensions((yyvsp[0].lex).loc, 1, &E_GL_EXT_spirv_intrinsics, "SPIR-V execution mode qualifier");6124(yyval.interm.intermNode) = 0;6125}6126#line 6128 "MachineIndependent/glslang_tab.cpp"6127break;61286129case 97: /* declaration: init_declarator_list SEMICOLON */6130#line 896 "MachineIndependent/glslang.y"6131{6132if ((yyvsp[-1].interm).intermNode && (yyvsp[-1].interm).intermNode->getAsAggregate())6133(yyvsp[-1].interm).intermNode->getAsAggregate()->setOperator(EOpSequence);6134(yyval.interm.intermNode) = (yyvsp[-1].interm).intermNode;6135}6136#line 6138 "MachineIndependent/glslang_tab.cpp"6137break;61386139case 98: /* declaration: PRECISION precision_qualifier type_specifier SEMICOLON */6140#line 901 "MachineIndependent/glslang.y"6141{6142parseContext.profileRequires((yyvsp[-3].lex).loc, ENoProfile, 130, 0, "precision statement");6143// lazy setting of the previous scope's defaults, has effect only the first time it is called in a particular scope6144parseContext.symbolTable.setPreviousDefaultPrecisions(&parseContext.defaultPrecision[0]);6145parseContext.setDefaultPrecision((yyvsp[-3].lex).loc, (yyvsp[-1].interm.type), (yyvsp[-2].interm.type).qualifier.precision);6146(yyval.interm.intermNode) = 0;6147}6148#line 6150 "MachineIndependent/glslang_tab.cpp"6149break;61506151case 99: /* declaration: block_structure SEMICOLON */6152#line 908 "MachineIndependent/glslang.y"6153{6154parseContext.declareBlock((yyvsp[-1].interm).loc, *(yyvsp[-1].interm).typeList);6155(yyval.interm.intermNode) = 0;6156}6157#line 6159 "MachineIndependent/glslang_tab.cpp"6158break;61596160case 100: /* declaration: block_structure IDENTIFIER SEMICOLON */6161#line 912 "MachineIndependent/glslang.y"6162{6163parseContext.declareBlock((yyvsp[-2].interm).loc, *(yyvsp[-2].interm).typeList, (yyvsp[-1].lex).string);6164(yyval.interm.intermNode) = 0;6165}6166#line 6168 "MachineIndependent/glslang_tab.cpp"6167break;61686169case 101: /* declaration: block_structure IDENTIFIER array_specifier SEMICOLON */6170#line 916 "MachineIndependent/glslang.y"6171{6172parseContext.declareBlock((yyvsp[-3].interm).loc, *(yyvsp[-3].interm).typeList, (yyvsp[-2].lex).string, (yyvsp[-1].interm).arraySizes);6173(yyval.interm.intermNode) = 0;6174}6175#line 6177 "MachineIndependent/glslang_tab.cpp"6176break;61776178case 102: /* declaration: type_qualifier SEMICOLON */6179#line 920 "MachineIndependent/glslang.y"6180{6181parseContext.globalQualifierFixCheck((yyvsp[-1].interm.type).loc, (yyvsp[-1].interm.type).qualifier);6182parseContext.updateStandaloneQualifierDefaults((yyvsp[-1].interm.type).loc, (yyvsp[-1].interm.type));6183(yyval.interm.intermNode) = 0;6184}6185#line 6187 "MachineIndependent/glslang_tab.cpp"6186break;61876188case 103: /* declaration: type_qualifier IDENTIFIER SEMICOLON */6189#line 925 "MachineIndependent/glslang.y"6190{6191parseContext.checkNoShaderLayouts((yyvsp[-2].interm.type).loc, (yyvsp[-2].interm.type).shaderQualifiers);6192parseContext.addQualifierToExisting((yyvsp[-2].interm.type).loc, (yyvsp[-2].interm.type).qualifier, *(yyvsp[-1].lex).string);6193(yyval.interm.intermNode) = 0;6194}6195#line 6197 "MachineIndependent/glslang_tab.cpp"6196break;61976198case 104: /* declaration: type_qualifier IDENTIFIER identifier_list SEMICOLON */6199#line 930 "MachineIndependent/glslang.y"6200{6201parseContext.checkNoShaderLayouts((yyvsp[-3].interm.type).loc, (yyvsp[-3].interm.type).shaderQualifiers);6202(yyvsp[-1].interm.identifierList)->push_back((yyvsp[-2].lex).string);6203parseContext.addQualifierToExisting((yyvsp[-3].interm.type).loc, (yyvsp[-3].interm.type).qualifier, *(yyvsp[-1].interm.identifierList));6204(yyval.interm.intermNode) = 0;6205}6206#line 6208 "MachineIndependent/glslang_tab.cpp"6207break;62086209case 105: /* $@2: %empty */6210#line 939 "MachineIndependent/glslang.y"6211{ parseContext.nestedBlockCheck((yyvsp[-2].interm.type).loc); }6212#line 6214 "MachineIndependent/glslang_tab.cpp"6213break;62146215case 106: /* block_structure: type_qualifier IDENTIFIER LEFT_BRACE $@2 struct_declaration_list RIGHT_BRACE */6216#line 939 "MachineIndependent/glslang.y"6217{6218--parseContext.blockNestingLevel;6219parseContext.blockName = (yyvsp[-4].lex).string;6220parseContext.globalQualifierFixCheck((yyvsp[-5].interm.type).loc, (yyvsp[-5].interm.type).qualifier);6221parseContext.checkNoShaderLayouts((yyvsp[-5].interm.type).loc, (yyvsp[-5].interm.type).shaderQualifiers);6222parseContext.currentBlockQualifier = (yyvsp[-5].interm.type).qualifier;6223(yyval.interm).loc = (yyvsp[-5].interm.type).loc;6224(yyval.interm).typeList = (yyvsp[-1].interm.typeList);6225}6226#line 6228 "MachineIndependent/glslang_tab.cpp"6227break;62286229case 107: /* identifier_list: COMMA IDENTIFIER */6230#line 950 "MachineIndependent/glslang.y"6231{6232(yyval.interm.identifierList) = new TIdentifierList;6233(yyval.interm.identifierList)->push_back((yyvsp[0].lex).string);6234}6235#line 6237 "MachineIndependent/glslang_tab.cpp"6236break;62376238case 108: /* identifier_list: identifier_list COMMA IDENTIFIER */6239#line 954 "MachineIndependent/glslang.y"6240{6241(yyval.interm.identifierList) = (yyvsp[-2].interm.identifierList);6242(yyval.interm.identifierList)->push_back((yyvsp[0].lex).string);6243}6244#line 6246 "MachineIndependent/glslang_tab.cpp"6245break;62466247case 109: /* function_prototype: function_declarator RIGHT_PAREN */6248#line 961 "MachineIndependent/glslang.y"6249{6250(yyval.interm).function = (yyvsp[-1].interm.function);6251if (parseContext.compileOnly) (yyval.interm).function->setExport();6252(yyval.interm).loc = (yyvsp[0].lex).loc;6253}6254#line 6256 "MachineIndependent/glslang_tab.cpp"6255break;62566257case 110: /* function_prototype: function_declarator RIGHT_PAREN attribute */6258#line 966 "MachineIndependent/glslang.y"6259{6260(yyval.interm).function = (yyvsp[-2].interm.function);6261if (parseContext.compileOnly) (yyval.interm).function->setExport();6262(yyval.interm).loc = (yyvsp[-1].lex).loc;6263const char * extensions[2] = { E_GL_EXT_subgroup_uniform_control_flow, E_GL_EXT_maximal_reconvergence };6264parseContext.requireExtensions((yyvsp[-1].lex).loc, 2, extensions, "attribute");6265parseContext.handleFunctionAttributes((yyvsp[-1].lex).loc, *(yyvsp[0].interm.attributes));6266}6267#line 6269 "MachineIndependent/glslang_tab.cpp"6268break;62696270case 111: /* function_prototype: attribute function_declarator RIGHT_PAREN */6271#line 974 "MachineIndependent/glslang.y"6272{6273(yyval.interm).function = (yyvsp[-1].interm.function);6274if (parseContext.compileOnly) (yyval.interm).function->setExport();6275(yyval.interm).loc = (yyvsp[0].lex).loc;6276const char * extensions[2] = { E_GL_EXT_subgroup_uniform_control_flow, E_GL_EXT_maximal_reconvergence };6277parseContext.requireExtensions((yyvsp[0].lex).loc, 2, extensions, "attribute");6278parseContext.handleFunctionAttributes((yyvsp[0].lex).loc, *(yyvsp[-2].interm.attributes));6279}6280#line 6282 "MachineIndependent/glslang_tab.cpp"6281break;62826283case 112: /* function_prototype: attribute function_declarator RIGHT_PAREN attribute */6284#line 982 "MachineIndependent/glslang.y"6285{6286(yyval.interm).function = (yyvsp[-2].interm.function);6287if (parseContext.compileOnly) (yyval.interm).function->setExport();6288(yyval.interm).loc = (yyvsp[-1].lex).loc;6289const char * extensions[2] = { E_GL_EXT_subgroup_uniform_control_flow, E_GL_EXT_maximal_reconvergence };6290parseContext.requireExtensions((yyvsp[-1].lex).loc, 2, extensions, "attribute");6291parseContext.handleFunctionAttributes((yyvsp[-1].lex).loc, *(yyvsp[-3].interm.attributes));6292parseContext.handleFunctionAttributes((yyvsp[-1].lex).loc, *(yyvsp[0].interm.attributes));6293}6294#line 6296 "MachineIndependent/glslang_tab.cpp"6295break;62966297case 113: /* function_declarator: function_header */6298#line 994 "MachineIndependent/glslang.y"6299{6300(yyval.interm.function) = (yyvsp[0].interm.function);6301}6302#line 6304 "MachineIndependent/glslang_tab.cpp"6303break;63046305case 114: /* function_declarator: function_header_with_parameters */6306#line 997 "MachineIndependent/glslang.y"6307{6308(yyval.interm.function) = (yyvsp[0].interm.function);6309}6310#line 6312 "MachineIndependent/glslang_tab.cpp"6311break;63126313case 115: /* function_header_with_parameters: function_header parameter_declaration */6314#line 1004 "MachineIndependent/glslang.y"6315{6316// Add the parameter6317(yyval.interm.function) = (yyvsp[-1].interm.function);6318if ((yyvsp[0].interm).param.type->getBasicType() != EbtVoid)6319{6320if (!(parseContext.spvVersion.vulkan > 0 && parseContext.spvVersion.vulkanRelaxed))6321(yyvsp[-1].interm.function)->addParameter((yyvsp[0].interm).param);6322else6323parseContext.vkRelaxedRemapFunctionParameter((yyvsp[-1].interm.function), (yyvsp[0].interm).param);6324}6325else6326delete (yyvsp[0].interm).param.type;6327}6328#line 6330 "MachineIndependent/glslang_tab.cpp"6329break;63306331case 116: /* function_header_with_parameters: function_header_with_parameters COMMA parameter_declaration */6332#line 1017 "MachineIndependent/glslang.y"6333{6334//6335// Only first parameter of one-parameter functions can be void6336// The check for named parameters not being void is done in parameter_declarator6337//6338if ((yyvsp[0].interm).param.type->getBasicType() == EbtVoid) {6339//6340// This parameter > first is void6341//6342parseContext.error((yyvsp[-1].lex).loc, "cannot be an argument type except for '(void)'", "void", "");6343delete (yyvsp[0].interm).param.type;6344} else {6345// Add the parameter6346(yyval.interm.function) = (yyvsp[-2].interm.function);6347if (!(parseContext.spvVersion.vulkan > 0 && parseContext.spvVersion.vulkanRelaxed))6348(yyvsp[-2].interm.function)->addParameter((yyvsp[0].interm).param);6349else6350parseContext.vkRelaxedRemapFunctionParameter((yyvsp[-2].interm.function), (yyvsp[0].interm).param);6351}6352}6353#line 6355 "MachineIndependent/glslang_tab.cpp"6354break;63556356case 117: /* function_header: fully_specified_type IDENTIFIER LEFT_PAREN */6357#line 1040 "MachineIndependent/glslang.y"6358{6359if ((yyvsp[-2].interm.type).qualifier.storage != EvqGlobal && (yyvsp[-2].interm.type).qualifier.storage != EvqTemporary) {6360parseContext.error((yyvsp[-1].lex).loc, "no qualifiers allowed for function return",6361GetStorageQualifierString((yyvsp[-2].interm.type).qualifier.storage), "");6362}6363if ((yyvsp[-2].interm.type).arraySizes)6364parseContext.arraySizeRequiredCheck((yyvsp[-2].interm.type).loc, *(yyvsp[-2].interm.type).arraySizes);63656366// Add the function as a prototype after parsing it (we do not support recursion)6367TFunction *function;6368TType type((yyvsp[-2].interm.type));63696370// Potentially rename shader entry point function. No-op most of the time.6371parseContext.renameShaderFunction((yyvsp[-1].lex).string);63726373// Make the function6374function = new TFunction((yyvsp[-1].lex).string, type);6375(yyval.interm.function) = function;6376}6377#line 6379 "MachineIndependent/glslang_tab.cpp"6378break;63796380case 118: /* parameter_declarator: type_specifier IDENTIFIER */6381#line 1063 "MachineIndependent/glslang.y"6382{6383if ((yyvsp[-1].interm.type).arraySizes) {6384parseContext.profileRequires((yyvsp[-1].interm.type).loc, ENoProfile, 120, E_GL_3DL_array_objects, "arrayed type");6385parseContext.profileRequires((yyvsp[-1].interm.type).loc, EEsProfile, 300, 0, "arrayed type");6386parseContext.arraySizeRequiredCheck((yyvsp[-1].interm.type).loc, *(yyvsp[-1].interm.type).arraySizes);6387}6388if ((yyvsp[-1].interm.type).basicType == EbtVoid) {6389parseContext.error((yyvsp[0].lex).loc, "illegal use of type 'void'", (yyvsp[0].lex).string->c_str(), "");6390}6391parseContext.reservedErrorCheck((yyvsp[0].lex).loc, *(yyvsp[0].lex).string);63926393TParameter param = {(yyvsp[0].lex).string, new TType((yyvsp[-1].interm.type)), {}};6394(yyval.interm).loc = (yyvsp[0].lex).loc;6395(yyval.interm).param = param;6396}6397#line 6399 "MachineIndependent/glslang_tab.cpp"6398break;63996400case 119: /* parameter_declarator: type_specifier IDENTIFIER array_specifier */6401#line 1078 "MachineIndependent/glslang.y"6402{6403if ((yyvsp[-2].interm.type).arraySizes) {6404parseContext.profileRequires((yyvsp[-2].interm.type).loc, ENoProfile, 120, E_GL_3DL_array_objects, "arrayed type");6405parseContext.profileRequires((yyvsp[-2].interm.type).loc, EEsProfile, 300, 0, "arrayed type");6406parseContext.arraySizeRequiredCheck((yyvsp[-2].interm.type).loc, *(yyvsp[-2].interm.type).arraySizes);6407}6408TType* type = new TType((yyvsp[-2].interm.type));6409type->transferArraySizes((yyvsp[0].interm).arraySizes);6410type->copyArrayInnerSizes((yyvsp[-2].interm.type).arraySizes);64116412parseContext.arrayOfArrayVersionCheck((yyvsp[-1].lex).loc, type->getArraySizes());6413parseContext.arraySizeRequiredCheck((yyvsp[0].interm).loc, *(yyvsp[0].interm).arraySizes);6414parseContext.reservedErrorCheck((yyvsp[-1].lex).loc, *(yyvsp[-1].lex).string);64156416TParameter param = { (yyvsp[-1].lex).string, type, {} };64176418(yyval.interm).loc = (yyvsp[-1].lex).loc;6419(yyval.interm).param = param;6420}6421#line 6423 "MachineIndependent/glslang_tab.cpp"6422break;64236424case 120: /* parameter_declaration: type_qualifier parameter_declarator */6425#line 1103 "MachineIndependent/glslang.y"6426{6427(yyval.interm) = (yyvsp[0].interm);6428if ((yyvsp[-1].interm.type).qualifier.precision != EpqNone)6429(yyval.interm).param.type->getQualifier().precision = (yyvsp[-1].interm.type).qualifier.precision;6430parseContext.precisionQualifierCheck((yyval.interm).loc, (yyval.interm).param.type->getBasicType(), (yyval.interm).param.type->getQualifier(), (yyval.interm).param.type->isCoopMat());64316432parseContext.checkNoShaderLayouts((yyvsp[-1].interm.type).loc, (yyvsp[-1].interm.type).shaderQualifiers);6433parseContext.parameterTypeCheck((yyvsp[0].interm).loc, (yyvsp[-1].interm.type).qualifier.storage, *(yyval.interm).param.type);6434parseContext.paramCheckFix((yyvsp[-1].interm.type).loc, (yyvsp[-1].interm.type).qualifier, *(yyval.interm).param.type);64356436}6437#line 6439 "MachineIndependent/glslang_tab.cpp"6438break;64396440case 121: /* parameter_declaration: parameter_declarator */6441#line 1114 "MachineIndependent/glslang.y"6442{6443(yyval.interm) = (yyvsp[0].interm);64446445parseContext.parameterTypeCheck((yyvsp[0].interm).loc, EvqIn, *(yyvsp[0].interm).param.type);6446parseContext.paramCheckFixStorage((yyvsp[0].interm).loc, EvqTemporary, *(yyval.interm).param.type);6447parseContext.precisionQualifierCheck((yyval.interm).loc, (yyval.interm).param.type->getBasicType(), (yyval.interm).param.type->getQualifier(), (yyval.interm).param.type->isCoopMat());6448}6449#line 6451 "MachineIndependent/glslang_tab.cpp"6450break;64516452case 122: /* parameter_declaration: type_qualifier parameter_type_specifier */6453#line 1124 "MachineIndependent/glslang.y"6454{6455(yyval.interm) = (yyvsp[0].interm);6456if ((yyvsp[-1].interm.type).qualifier.precision != EpqNone)6457(yyval.interm).param.type->getQualifier().precision = (yyvsp[-1].interm.type).qualifier.precision;6458parseContext.precisionQualifierCheck((yyvsp[-1].interm.type).loc, (yyval.interm).param.type->getBasicType(), (yyval.interm).param.type->getQualifier(), (yyval.interm).param.type->isCoopMat());64596460parseContext.checkNoShaderLayouts((yyvsp[-1].interm.type).loc, (yyvsp[-1].interm.type).shaderQualifiers);6461parseContext.parameterTypeCheck((yyvsp[0].interm).loc, (yyvsp[-1].interm.type).qualifier.storage, *(yyval.interm).param.type);6462parseContext.paramCheckFix((yyvsp[-1].interm.type).loc, (yyvsp[-1].interm.type).qualifier, *(yyval.interm).param.type);6463}6464#line 6466 "MachineIndependent/glslang_tab.cpp"6465break;64666467case 123: /* parameter_declaration: parameter_type_specifier */6468#line 1134 "MachineIndependent/glslang.y"6469{6470(yyval.interm) = (yyvsp[0].interm);64716472parseContext.parameterTypeCheck((yyvsp[0].interm).loc, EvqIn, *(yyvsp[0].interm).param.type);6473parseContext.paramCheckFixStorage((yyvsp[0].interm).loc, EvqTemporary, *(yyval.interm).param.type);6474parseContext.precisionQualifierCheck((yyval.interm).loc, (yyval.interm).param.type->getBasicType(), (yyval.interm).param.type->getQualifier(), (yyval.interm).param.type->isCoopMat());6475}6476#line 6478 "MachineIndependent/glslang_tab.cpp"6477break;64786479case 124: /* parameter_type_specifier: type_specifier */6480#line 1144 "MachineIndependent/glslang.y"6481{6482TParameter param = { 0, new TType((yyvsp[0].interm.type)), {} };6483(yyval.interm).param = param;6484if ((yyvsp[0].interm.type).arraySizes)6485parseContext.arraySizeRequiredCheck((yyvsp[0].interm.type).loc, *(yyvsp[0].interm.type).arraySizes);6486}6487#line 6489 "MachineIndependent/glslang_tab.cpp"6488break;64896490case 125: /* init_declarator_list: single_declaration */6491#line 1153 "MachineIndependent/glslang.y"6492{6493(yyval.interm) = (yyvsp[0].interm);6494}6495#line 6497 "MachineIndependent/glslang_tab.cpp"6496break;64976498case 126: /* init_declarator_list: init_declarator_list COMMA IDENTIFIER */6499#line 1156 "MachineIndependent/glslang.y"6500{6501(yyval.interm) = (yyvsp[-2].interm);6502parseContext.declareVariable((yyvsp[0].lex).loc, *(yyvsp[0].lex).string, (yyvsp[-2].interm).type);6503}6504#line 6506 "MachineIndependent/glslang_tab.cpp"6505break;65066507case 127: /* init_declarator_list: init_declarator_list COMMA IDENTIFIER array_specifier */6508#line 1160 "MachineIndependent/glslang.y"6509{6510(yyval.interm) = (yyvsp[-3].interm);6511parseContext.declareVariable((yyvsp[-1].lex).loc, *(yyvsp[-1].lex).string, (yyvsp[-3].interm).type, (yyvsp[0].interm).arraySizes);6512}6513#line 6515 "MachineIndependent/glslang_tab.cpp"6514break;65156516case 128: /* init_declarator_list: init_declarator_list COMMA IDENTIFIER array_specifier EQUAL initializer */6517#line 1164 "MachineIndependent/glslang.y"6518{6519(yyval.interm).type = (yyvsp[-5].interm).type;6520TIntermNode* initNode = parseContext.declareVariable((yyvsp[-3].lex).loc, *(yyvsp[-3].lex).string, (yyvsp[-5].interm).type, (yyvsp[-2].interm).arraySizes, (yyvsp[0].interm.intermTypedNode));6521(yyval.interm).intermNode = parseContext.intermediate.growAggregate((yyvsp[-5].interm).intermNode, initNode, (yyvsp[-1].lex).loc);6522}6523#line 6525 "MachineIndependent/glslang_tab.cpp"6524break;65256526case 129: /* init_declarator_list: init_declarator_list COMMA IDENTIFIER EQUAL initializer */6527#line 1169 "MachineIndependent/glslang.y"6528{6529(yyval.interm).type = (yyvsp[-4].interm).type;6530TIntermNode* initNode = parseContext.declareVariable((yyvsp[-2].lex).loc, *(yyvsp[-2].lex).string, (yyvsp[-4].interm).type, 0, (yyvsp[0].interm.intermTypedNode));6531(yyval.interm).intermNode = parseContext.intermediate.growAggregate((yyvsp[-4].interm).intermNode, initNode, (yyvsp[-1].lex).loc);6532}6533#line 6535 "MachineIndependent/glslang_tab.cpp"6534break;65356536case 130: /* single_declaration: fully_specified_type */6537#line 1177 "MachineIndependent/glslang.y"6538{6539(yyval.interm).type = (yyvsp[0].interm.type);6540(yyval.interm).intermNode = 0;6541parseContext.declareTypeDefaults((yyval.interm).loc, (yyval.interm).type);6542}6543#line 6545 "MachineIndependent/glslang_tab.cpp"6544break;65456546case 131: /* single_declaration: fully_specified_type IDENTIFIER */6547#line 1182 "MachineIndependent/glslang.y"6548{6549(yyval.interm).type = (yyvsp[-1].interm.type);6550(yyval.interm).intermNode = 0;6551parseContext.declareVariable((yyvsp[0].lex).loc, *(yyvsp[0].lex).string, (yyvsp[-1].interm.type));6552}6553#line 6555 "MachineIndependent/glslang_tab.cpp"6554break;65556556case 132: /* single_declaration: fully_specified_type IDENTIFIER array_specifier */6557#line 1187 "MachineIndependent/glslang.y"6558{6559(yyval.interm).type = (yyvsp[-2].interm.type);6560(yyval.interm).intermNode = 0;6561parseContext.declareVariable((yyvsp[-1].lex).loc, *(yyvsp[-1].lex).string, (yyvsp[-2].interm.type), (yyvsp[0].interm).arraySizes);6562}6563#line 6565 "MachineIndependent/glslang_tab.cpp"6564break;65656566case 133: /* single_declaration: fully_specified_type IDENTIFIER array_specifier EQUAL initializer */6567#line 1192 "MachineIndependent/glslang.y"6568{6569(yyval.interm).type = (yyvsp[-4].interm.type);6570TIntermNode* initNode = parseContext.declareVariable((yyvsp[-3].lex).loc, *(yyvsp[-3].lex).string, (yyvsp[-4].interm.type), (yyvsp[-2].interm).arraySizes, (yyvsp[0].interm.intermTypedNode));6571(yyval.interm).intermNode = parseContext.intermediate.growAggregate(0, initNode, (yyvsp[-1].lex).loc);6572}6573#line 6575 "MachineIndependent/glslang_tab.cpp"6574break;65756576case 134: /* single_declaration: fully_specified_type IDENTIFIER EQUAL initializer */6577#line 1197 "MachineIndependent/glslang.y"6578{6579(yyval.interm).type = (yyvsp[-3].interm.type);6580TIntermNode* initNode = parseContext.declareVariable((yyvsp[-2].lex).loc, *(yyvsp[-2].lex).string, (yyvsp[-3].interm.type), 0, (yyvsp[0].interm.intermTypedNode));6581(yyval.interm).intermNode = parseContext.intermediate.growAggregate(0, initNode, (yyvsp[-1].lex).loc);6582}6583#line 6585 "MachineIndependent/glslang_tab.cpp"6584break;65856586case 135: /* fully_specified_type: type_specifier */6587#line 1206 "MachineIndependent/glslang.y"6588{6589(yyval.interm.type) = (yyvsp[0].interm.type);65906591parseContext.globalQualifierTypeCheck((yyvsp[0].interm.type).loc, (yyvsp[0].interm.type).qualifier, (yyval.interm.type));6592if ((yyvsp[0].interm.type).arraySizes) {6593parseContext.profileRequires((yyvsp[0].interm.type).loc, ENoProfile, 120, E_GL_3DL_array_objects, "arrayed type");6594parseContext.profileRequires((yyvsp[0].interm.type).loc, EEsProfile, 300, 0, "arrayed type");6595}6596parseContext.precisionQualifierCheck((yyval.interm.type).loc, (yyval.interm.type).basicType, (yyval.interm.type).qualifier, (yyval.interm.type).isCoopmat());6597}6598#line 6600 "MachineIndependent/glslang_tab.cpp"6599break;66006601case 136: /* fully_specified_type: type_qualifier type_specifier */6602#line 1216 "MachineIndependent/glslang.y"6603{6604parseContext.globalQualifierFixCheck((yyvsp[-1].interm.type).loc, (yyvsp[-1].interm.type).qualifier, false, &(yyvsp[0].interm.type));6605parseContext.globalQualifierTypeCheck((yyvsp[-1].interm.type).loc, (yyvsp[-1].interm.type).qualifier, (yyvsp[0].interm.type));66066607if ((yyvsp[0].interm.type).arraySizes) {6608parseContext.profileRequires((yyvsp[0].interm.type).loc, ENoProfile, 120, E_GL_3DL_array_objects, "arrayed type");6609parseContext.profileRequires((yyvsp[0].interm.type).loc, EEsProfile, 300, 0, "arrayed type");6610}66116612if ((yyvsp[0].interm.type).arraySizes && parseContext.arrayQualifierError((yyvsp[0].interm.type).loc, (yyvsp[-1].interm.type).qualifier))6613(yyvsp[0].interm.type).arraySizes = nullptr;66146615parseContext.checkNoShaderLayouts((yyvsp[0].interm.type).loc, (yyvsp[-1].interm.type).shaderQualifiers);6616(yyvsp[0].interm.type).shaderQualifiers.merge((yyvsp[-1].interm.type).shaderQualifiers);6617parseContext.mergeQualifiers((yyvsp[0].interm.type).loc, (yyvsp[0].interm.type).qualifier, (yyvsp[-1].interm.type).qualifier, true);6618parseContext.precisionQualifierCheck((yyvsp[0].interm.type).loc, (yyvsp[0].interm.type).basicType, (yyvsp[0].interm.type).qualifier, (yyvsp[0].interm.type).isCoopmat());66196620(yyval.interm.type) = (yyvsp[0].interm.type);66216622if (! (yyval.interm.type).qualifier.isInterpolation() &&6623((parseContext.language == EShLangVertex && (yyval.interm.type).qualifier.storage == EvqVaryingOut) ||6624(parseContext.language == EShLangFragment && (yyval.interm.type).qualifier.storage == EvqVaryingIn)))6625(yyval.interm.type).qualifier.smooth = true;6626}6627#line 6629 "MachineIndependent/glslang_tab.cpp"6628break;66296630case 137: /* invariant_qualifier: INVARIANT */6631#line 1243 "MachineIndependent/glslang.y"6632{6633parseContext.globalCheck((yyvsp[0].lex).loc, "invariant");6634parseContext.profileRequires((yyval.interm.type).loc, ENoProfile, 120, 0, "invariant");6635(yyval.interm.type).init((yyvsp[0].lex).loc);6636(yyval.interm.type).qualifier.invariant = true;6637}6638#line 6640 "MachineIndependent/glslang_tab.cpp"6639break;66406641case 138: /* interpolation_qualifier: SMOOTH */6642#line 1252 "MachineIndependent/glslang.y"6643{6644parseContext.globalCheck((yyvsp[0].lex).loc, "smooth");6645parseContext.profileRequires((yyvsp[0].lex).loc, ENoProfile, 130, 0, "smooth");6646parseContext.profileRequires((yyvsp[0].lex).loc, EEsProfile, 300, 0, "smooth");6647(yyval.interm.type).init((yyvsp[0].lex).loc);6648(yyval.interm.type).qualifier.smooth = true;6649}6650#line 6652 "MachineIndependent/glslang_tab.cpp"6651break;66526653case 139: /* interpolation_qualifier: FLAT */6654#line 1259 "MachineIndependent/glslang.y"6655{6656parseContext.globalCheck((yyvsp[0].lex).loc, "flat");6657parseContext.profileRequires((yyvsp[0].lex).loc, ENoProfile, 130, 0, "flat");6658parseContext.profileRequires((yyvsp[0].lex).loc, EEsProfile, 300, 0, "flat");6659(yyval.interm.type).init((yyvsp[0].lex).loc);6660(yyval.interm.type).qualifier.flat = true;6661}6662#line 6664 "MachineIndependent/glslang_tab.cpp"6663break;66646665case 140: /* interpolation_qualifier: NOPERSPECTIVE */6666#line 1266 "MachineIndependent/glslang.y"6667{6668parseContext.globalCheck((yyvsp[0].lex).loc, "noperspective");6669parseContext.profileRequires((yyvsp[0].lex).loc, EEsProfile, 0, E_GL_NV_shader_noperspective_interpolation, "noperspective");6670parseContext.profileRequires((yyvsp[0].lex).loc, ENoProfile, 130, 0, "noperspective");6671(yyval.interm.type).init((yyvsp[0].lex).loc);6672(yyval.interm.type).qualifier.nopersp = true;6673}6674#line 6676 "MachineIndependent/glslang_tab.cpp"6675break;66766677case 141: /* interpolation_qualifier: EXPLICITINTERPAMD */6678#line 1273 "MachineIndependent/glslang.y"6679{6680parseContext.globalCheck((yyvsp[0].lex).loc, "__explicitInterpAMD");6681parseContext.profileRequires((yyvsp[0].lex).loc, ECoreProfile, 450, E_GL_AMD_shader_explicit_vertex_parameter, "explicit interpolation");6682parseContext.profileRequires((yyvsp[0].lex).loc, ECompatibilityProfile, 450, E_GL_AMD_shader_explicit_vertex_parameter, "explicit interpolation");6683(yyval.interm.type).init((yyvsp[0].lex).loc);6684(yyval.interm.type).qualifier.explicitInterp = true;6685}6686#line 6688 "MachineIndependent/glslang_tab.cpp"6687break;66886689case 142: /* interpolation_qualifier: PERVERTEXNV */6690#line 1280 "MachineIndependent/glslang.y"6691{6692parseContext.globalCheck((yyvsp[0].lex).loc, "pervertexNV");6693parseContext.profileRequires((yyvsp[0].lex).loc, ECoreProfile, 0, E_GL_NV_fragment_shader_barycentric, "fragment shader barycentric");6694parseContext.profileRequires((yyvsp[0].lex).loc, ECompatibilityProfile, 0, E_GL_NV_fragment_shader_barycentric, "fragment shader barycentric");6695parseContext.profileRequires((yyvsp[0].lex).loc, EEsProfile, 0, E_GL_NV_fragment_shader_barycentric, "fragment shader barycentric");6696(yyval.interm.type).init((yyvsp[0].lex).loc);6697(yyval.interm.type).qualifier.pervertexNV = true;6698}6699#line 6701 "MachineIndependent/glslang_tab.cpp"6700break;67016702case 143: /* interpolation_qualifier: PERVERTEXEXT */6703#line 1288 "MachineIndependent/glslang.y"6704{6705parseContext.globalCheck((yyvsp[0].lex).loc, "pervertexEXT");6706parseContext.profileRequires((yyvsp[0].lex).loc, ECoreProfile, 0, E_GL_EXT_fragment_shader_barycentric, "fragment shader barycentric");6707parseContext.profileRequires((yyvsp[0].lex).loc, ECompatibilityProfile, 0, E_GL_EXT_fragment_shader_barycentric, "fragment shader barycentric");6708parseContext.profileRequires((yyvsp[0].lex).loc, EEsProfile, 0, E_GL_EXT_fragment_shader_barycentric, "fragment shader barycentric");6709(yyval.interm.type).init((yyvsp[0].lex).loc);6710(yyval.interm.type).qualifier.pervertexEXT = true;6711}6712#line 6714 "MachineIndependent/glslang_tab.cpp"6713break;67146715case 144: /* interpolation_qualifier: PERPRIMITIVENV */6716#line 1296 "MachineIndependent/glslang.y"6717{6718// No need for profile version or extension check. Shader stage already checks both.6719parseContext.globalCheck((yyvsp[0].lex).loc, "perprimitiveNV");6720parseContext.requireStage((yyvsp[0].lex).loc, (EShLanguageMask)(EShLangFragmentMask | EShLangMeshMask), "perprimitiveNV");6721// Fragment shader stage doesn't check for extension. So we explicitly add below extension check.6722if (parseContext.language == EShLangFragment)6723parseContext.requireExtensions((yyvsp[0].lex).loc, 1, &E_GL_NV_mesh_shader, "perprimitiveNV");6724(yyval.interm.type).init((yyvsp[0].lex).loc);6725(yyval.interm.type).qualifier.perPrimitiveNV = true;6726}6727#line 6729 "MachineIndependent/glslang_tab.cpp"6728break;67296730case 145: /* interpolation_qualifier: PERPRIMITIVEEXT */6731#line 1306 "MachineIndependent/glslang.y"6732{6733// No need for profile version or extension check. Shader stage already checks both.6734parseContext.globalCheck((yyvsp[0].lex).loc, "perprimitiveEXT");6735parseContext.requireStage((yyvsp[0].lex).loc, (EShLanguageMask)(EShLangFragmentMask | EShLangMeshMask), "perprimitiveEXT");6736// Fragment shader stage doesn't check for extension. So we explicitly add below extension check.6737if (parseContext.language == EShLangFragment)6738parseContext.requireExtensions((yyvsp[0].lex).loc, 1, &E_GL_EXT_mesh_shader, "perprimitiveEXT");6739(yyval.interm.type).init((yyvsp[0].lex).loc);6740(yyval.interm.type).qualifier.perPrimitiveNV = true;6741}6742#line 6744 "MachineIndependent/glslang_tab.cpp"6743break;67446745case 146: /* interpolation_qualifier: PERVIEWNV */6746#line 1316 "MachineIndependent/glslang.y"6747{6748// No need for profile version or extension check. Shader stage already checks both.6749parseContext.globalCheck((yyvsp[0].lex).loc, "perviewNV");6750parseContext.requireStage((yyvsp[0].lex).loc, EShLangMesh, "perviewNV");6751(yyval.interm.type).init((yyvsp[0].lex).loc);6752(yyval.interm.type).qualifier.perViewNV = true;6753}6754#line 6756 "MachineIndependent/glslang_tab.cpp"6755break;67566757case 147: /* interpolation_qualifier: PERTASKNV */6758#line 1323 "MachineIndependent/glslang.y"6759{6760// No need for profile version or extension check. Shader stage already checks both.6761parseContext.globalCheck((yyvsp[0].lex).loc, "taskNV");6762parseContext.requireStage((yyvsp[0].lex).loc, (EShLanguageMask)(EShLangTaskMask | EShLangMeshMask), "taskNV");6763(yyval.interm.type).init((yyvsp[0].lex).loc);6764(yyval.interm.type).qualifier.perTaskNV = true;6765}6766#line 6768 "MachineIndependent/glslang_tab.cpp"6767break;67686769case 148: /* layout_qualifier: LAYOUT LEFT_PAREN layout_qualifier_id_list RIGHT_PAREN */6770#line 1333 "MachineIndependent/glslang.y"6771{6772(yyval.interm.type) = (yyvsp[-1].interm.type);6773}6774#line 6776 "MachineIndependent/glslang_tab.cpp"6775break;67766777case 149: /* layout_qualifier_id_list: layout_qualifier_id */6778#line 1339 "MachineIndependent/glslang.y"6779{6780(yyval.interm.type) = (yyvsp[0].interm.type);6781}6782#line 6784 "MachineIndependent/glslang_tab.cpp"6783break;67846785case 150: /* layout_qualifier_id_list: layout_qualifier_id_list COMMA layout_qualifier_id */6786#line 1342 "MachineIndependent/glslang.y"6787{6788(yyval.interm.type) = (yyvsp[-2].interm.type);6789(yyval.interm.type).shaderQualifiers.merge((yyvsp[0].interm.type).shaderQualifiers);6790parseContext.mergeObjectLayoutQualifiers((yyval.interm.type).qualifier, (yyvsp[0].interm.type).qualifier, false);6791}6792#line 6794 "MachineIndependent/glslang_tab.cpp"6793break;67946795case 151: /* layout_qualifier_id: IDENTIFIER */6796#line 1349 "MachineIndependent/glslang.y"6797{6798(yyval.interm.type).init((yyvsp[0].lex).loc);6799parseContext.setLayoutQualifier((yyvsp[0].lex).loc, (yyval.interm.type), *(yyvsp[0].lex).string);6800}6801#line 6803 "MachineIndependent/glslang_tab.cpp"6802break;68036804case 152: /* layout_qualifier_id: IDENTIFIER EQUAL constant_expression */6805#line 1353 "MachineIndependent/glslang.y"6806{6807(yyval.interm.type).init((yyvsp[-2].lex).loc);6808parseContext.setLayoutQualifier((yyvsp[-2].lex).loc, (yyval.interm.type), *(yyvsp[-2].lex).string, (yyvsp[0].interm.intermTypedNode));6809}6810#line 6812 "MachineIndependent/glslang_tab.cpp"6811break;68126813case 153: /* layout_qualifier_id: SHARED */6814#line 1357 "MachineIndependent/glslang.y"6815{ // because "shared" is both an identifier and a keyword6816(yyval.interm.type).init((yyvsp[0].lex).loc);6817TString strShared("shared");6818parseContext.setLayoutQualifier((yyvsp[0].lex).loc, (yyval.interm.type), strShared);6819}6820#line 6822 "MachineIndependent/glslang_tab.cpp"6821break;68226823case 154: /* precise_qualifier: PRECISE */6824#line 1365 "MachineIndependent/glslang.y"6825{6826parseContext.profileRequires((yyval.interm.type).loc, ECoreProfile | ECompatibilityProfile, 400, E_GL_ARB_gpu_shader5, "precise");6827parseContext.profileRequires((yyvsp[0].lex).loc, EEsProfile, 320, Num_AEP_gpu_shader5, AEP_gpu_shader5, "precise");6828(yyval.interm.type).init((yyvsp[0].lex).loc);6829(yyval.interm.type).qualifier.noContraction = true;6830}6831#line 6833 "MachineIndependent/glslang_tab.cpp"6832break;68336834case 155: /* type_qualifier: single_type_qualifier */6835#line 1374 "MachineIndependent/glslang.y"6836{6837(yyval.interm.type) = (yyvsp[0].interm.type);6838}6839#line 6841 "MachineIndependent/glslang_tab.cpp"6840break;68416842case 156: /* type_qualifier: type_qualifier single_type_qualifier */6843#line 1377 "MachineIndependent/glslang.y"6844{6845(yyval.interm.type) = (yyvsp[-1].interm.type);6846if ((yyval.interm.type).basicType == EbtVoid)6847(yyval.interm.type).basicType = (yyvsp[0].interm.type).basicType;68486849(yyval.interm.type).shaderQualifiers.merge((yyvsp[0].interm.type).shaderQualifiers);6850parseContext.mergeQualifiers((yyval.interm.type).loc, (yyval.interm.type).qualifier, (yyvsp[0].interm.type).qualifier, false);6851}6852#line 6854 "MachineIndependent/glslang_tab.cpp"6853break;68546855case 157: /* single_type_qualifier: storage_qualifier */6856#line 1388 "MachineIndependent/glslang.y"6857{6858(yyval.interm.type) = (yyvsp[0].interm.type);6859}6860#line 6862 "MachineIndependent/glslang_tab.cpp"6861break;68626863case 158: /* single_type_qualifier: layout_qualifier */6864#line 1391 "MachineIndependent/glslang.y"6865{6866(yyval.interm.type) = (yyvsp[0].interm.type);6867}6868#line 6870 "MachineIndependent/glslang_tab.cpp"6869break;68706871case 159: /* single_type_qualifier: precision_qualifier */6872#line 1394 "MachineIndependent/glslang.y"6873{6874parseContext.checkPrecisionQualifier((yyvsp[0].interm.type).loc, (yyvsp[0].interm.type).qualifier.precision);6875(yyval.interm.type) = (yyvsp[0].interm.type);6876}6877#line 6879 "MachineIndependent/glslang_tab.cpp"6878break;68796880case 160: /* single_type_qualifier: interpolation_qualifier */6881#line 1398 "MachineIndependent/glslang.y"6882{6883// allow inheritance of storage qualifier from block declaration6884(yyval.interm.type) = (yyvsp[0].interm.type);6885}6886#line 6888 "MachineIndependent/glslang_tab.cpp"6887break;68886889case 161: /* single_type_qualifier: invariant_qualifier */6890#line 1402 "MachineIndependent/glslang.y"6891{6892// allow inheritance of storage qualifier from block declaration6893(yyval.interm.type) = (yyvsp[0].interm.type);6894}6895#line 6897 "MachineIndependent/glslang_tab.cpp"6896break;68976898case 162: /* single_type_qualifier: precise_qualifier */6899#line 1406 "MachineIndependent/glslang.y"6900{6901// allow inheritance of storage qualifier from block declaration6902(yyval.interm.type) = (yyvsp[0].interm.type);6903}6904#line 6906 "MachineIndependent/glslang_tab.cpp"6905break;69066907case 163: /* single_type_qualifier: non_uniform_qualifier */6908#line 1410 "MachineIndependent/glslang.y"6909{6910(yyval.interm.type) = (yyvsp[0].interm.type);6911}6912#line 6914 "MachineIndependent/glslang_tab.cpp"6913break;69146915case 164: /* single_type_qualifier: spirv_storage_class_qualifier */6916#line 1413 "MachineIndependent/glslang.y"6917{6918parseContext.globalCheck((yyvsp[0].interm.type).loc, "spirv_storage_class");6919parseContext.requireExtensions((yyvsp[0].interm.type).loc, 1, &E_GL_EXT_spirv_intrinsics, "SPIR-V storage class qualifier");6920(yyval.interm.type) = (yyvsp[0].interm.type);6921}6922#line 6924 "MachineIndependent/glslang_tab.cpp"6923break;69246925case 165: /* single_type_qualifier: spirv_decorate_qualifier */6926#line 1418 "MachineIndependent/glslang.y"6927{6928parseContext.requireExtensions((yyvsp[0].interm.type).loc, 1, &E_GL_EXT_spirv_intrinsics, "SPIR-V decorate qualifier");6929(yyval.interm.type) = (yyvsp[0].interm.type);6930}6931#line 6933 "MachineIndependent/glslang_tab.cpp"6932break;69336934case 166: /* single_type_qualifier: SPIRV_BY_REFERENCE */6935#line 1422 "MachineIndependent/glslang.y"6936{6937parseContext.requireExtensions((yyvsp[0].lex).loc, 1, &E_GL_EXT_spirv_intrinsics, "spirv_by_reference");6938(yyval.interm.type).init((yyvsp[0].lex).loc);6939(yyval.interm.type).qualifier.setSpirvByReference();6940}6941#line 6943 "MachineIndependent/glslang_tab.cpp"6942break;69436944case 167: /* single_type_qualifier: SPIRV_LITERAL */6945#line 1427 "MachineIndependent/glslang.y"6946{6947parseContext.requireExtensions((yyvsp[0].lex).loc, 1, &E_GL_EXT_spirv_intrinsics, "spirv_by_literal");6948(yyval.interm.type).init((yyvsp[0].lex).loc);6949(yyval.interm.type).qualifier.setSpirvLiteral();6950}6951#line 6953 "MachineIndependent/glslang_tab.cpp"6952break;69536954case 168: /* storage_qualifier: CONST */6955#line 1435 "MachineIndependent/glslang.y"6956{6957(yyval.interm.type).init((yyvsp[0].lex).loc);6958(yyval.interm.type).qualifier.storage = EvqConst; // will later turn into EvqConstReadOnly, if the initializer is not constant6959}6960#line 6962 "MachineIndependent/glslang_tab.cpp"6961break;69626963case 169: /* storage_qualifier: INOUT */6964#line 1439 "MachineIndependent/glslang.y"6965{6966parseContext.globalCheck((yyvsp[0].lex).loc, "inout");6967(yyval.interm.type).init((yyvsp[0].lex).loc);6968(yyval.interm.type).qualifier.storage = EvqInOut;6969}6970#line 6972 "MachineIndependent/glslang_tab.cpp"6971break;69726973case 170: /* storage_qualifier: IN */6974#line 1444 "MachineIndependent/glslang.y"6975{6976parseContext.globalCheck((yyvsp[0].lex).loc, "in");6977(yyval.interm.type).init((yyvsp[0].lex).loc);6978// whether this is a parameter "in" or a pipeline "in" will get sorted out a bit later6979(yyval.interm.type).qualifier.storage = EvqIn;6980}6981#line 6983 "MachineIndependent/glslang_tab.cpp"6982break;69836984case 171: /* storage_qualifier: OUT */6985#line 1450 "MachineIndependent/glslang.y"6986{6987parseContext.globalCheck((yyvsp[0].lex).loc, "out");6988(yyval.interm.type).init((yyvsp[0].lex).loc);6989// whether this is a parameter "out" or a pipeline "out" will get sorted out a bit later6990(yyval.interm.type).qualifier.storage = EvqOut;6991}6992#line 6994 "MachineIndependent/glslang_tab.cpp"6993break;69946995case 172: /* storage_qualifier: CENTROID */6996#line 1456 "MachineIndependent/glslang.y"6997{6998parseContext.profileRequires((yyvsp[0].lex).loc, ENoProfile, 120, 0, "centroid");6999parseContext.profileRequires((yyvsp[0].lex).loc, EEsProfile, 300, 0, "centroid");7000parseContext.globalCheck((yyvsp[0].lex).loc, "centroid");7001(yyval.interm.type).init((yyvsp[0].lex).loc);7002(yyval.interm.type).qualifier.centroid = true;7003}7004#line 7006 "MachineIndependent/glslang_tab.cpp"7005break;70067007case 173: /* storage_qualifier: UNIFORM */7008#line 1463 "MachineIndependent/glslang.y"7009{7010parseContext.globalCheck((yyvsp[0].lex).loc, "uniform");7011(yyval.interm.type).init((yyvsp[0].lex).loc);7012(yyval.interm.type).qualifier.storage = EvqUniform;7013}7014#line 7016 "MachineIndependent/glslang_tab.cpp"7015break;70167017case 174: /* storage_qualifier: TILEIMAGEEXT */7018#line 1468 "MachineIndependent/glslang.y"7019{7020parseContext.globalCheck((yyvsp[0].lex).loc, "tileImageEXT");7021(yyval.interm.type).init((yyvsp[0].lex).loc);7022(yyval.interm.type).qualifier.storage = EvqTileImageEXT;7023}7024#line 7026 "MachineIndependent/glslang_tab.cpp"7025break;70267027case 175: /* storage_qualifier: SHARED */7028#line 1473 "MachineIndependent/glslang.y"7029{7030parseContext.globalCheck((yyvsp[0].lex).loc, "shared");7031parseContext.profileRequires((yyvsp[0].lex).loc, ECoreProfile | ECompatibilityProfile, 430, E_GL_ARB_compute_shader, "shared");7032parseContext.profileRequires((yyvsp[0].lex).loc, EEsProfile, 310, 0, "shared");7033parseContext.requireStage((yyvsp[0].lex).loc, (EShLanguageMask)(EShLangComputeMask | EShLangMeshMask | EShLangTaskMask), "shared");7034(yyval.interm.type).init((yyvsp[0].lex).loc);7035(yyval.interm.type).qualifier.storage = EvqShared;7036}7037#line 7039 "MachineIndependent/glslang_tab.cpp"7038break;70397040case 176: /* storage_qualifier: BUFFER */7041#line 1481 "MachineIndependent/glslang.y"7042{7043parseContext.globalCheck((yyvsp[0].lex).loc, "buffer");7044(yyval.interm.type).init((yyvsp[0].lex).loc);7045(yyval.interm.type).qualifier.storage = EvqBuffer;7046}7047#line 7049 "MachineIndependent/glslang_tab.cpp"7048break;70497050case 177: /* storage_qualifier: ATTRIBUTE */7051#line 1486 "MachineIndependent/glslang.y"7052{7053parseContext.requireStage((yyvsp[0].lex).loc, EShLangVertex, "attribute");7054parseContext.checkDeprecated((yyvsp[0].lex).loc, ECoreProfile, 130, "attribute");7055parseContext.checkDeprecated((yyvsp[0].lex).loc, ENoProfile, 130, "attribute");7056parseContext.requireNotRemoved((yyvsp[0].lex).loc, ECoreProfile, 420, "attribute");7057parseContext.requireNotRemoved((yyvsp[0].lex).loc, EEsProfile, 300, "attribute");70587059parseContext.globalCheck((yyvsp[0].lex).loc, "attribute");70607061(yyval.interm.type).init((yyvsp[0].lex).loc);7062(yyval.interm.type).qualifier.storage = EvqVaryingIn;7063}7064#line 7066 "MachineIndependent/glslang_tab.cpp"7065break;70667067case 178: /* storage_qualifier: VARYING */7068#line 1498 "MachineIndependent/glslang.y"7069{7070parseContext.checkDeprecated((yyvsp[0].lex).loc, ENoProfile, 130, "varying");7071parseContext.checkDeprecated((yyvsp[0].lex).loc, ECoreProfile, 130, "varying");7072parseContext.requireNotRemoved((yyvsp[0].lex).loc, ECoreProfile, 420, "varying");7073parseContext.requireNotRemoved((yyvsp[0].lex).loc, EEsProfile, 300, "varying");70747075parseContext.globalCheck((yyvsp[0].lex).loc, "varying");70767077(yyval.interm.type).init((yyvsp[0].lex).loc);7078if (parseContext.language == EShLangVertex)7079(yyval.interm.type).qualifier.storage = EvqVaryingOut;7080else7081(yyval.interm.type).qualifier.storage = EvqVaryingIn;7082}7083#line 7085 "MachineIndependent/glslang_tab.cpp"7084break;70857086case 179: /* storage_qualifier: PATCH */7087#line 1512 "MachineIndependent/glslang.y"7088{7089parseContext.globalCheck((yyvsp[0].lex).loc, "patch");7090parseContext.requireStage((yyvsp[0].lex).loc, (EShLanguageMask)(EShLangTessControlMask | EShLangTessEvaluationMask), "patch");7091(yyval.interm.type).init((yyvsp[0].lex).loc);7092(yyval.interm.type).qualifier.patch = true;7093}7094#line 7096 "MachineIndependent/glslang_tab.cpp"7095break;70967097case 180: /* storage_qualifier: SAMPLE */7098#line 1518 "MachineIndependent/glslang.y"7099{7100parseContext.globalCheck((yyvsp[0].lex).loc, "sample");7101(yyval.interm.type).init((yyvsp[0].lex).loc);7102(yyval.interm.type).qualifier.sample = true;7103}7104#line 7106 "MachineIndependent/glslang_tab.cpp"7105break;71067107case 181: /* storage_qualifier: HITATTRNV */7108#line 1523 "MachineIndependent/glslang.y"7109{7110parseContext.globalCheck((yyvsp[0].lex).loc, "hitAttributeNV");7111parseContext.requireStage((yyvsp[0].lex).loc, (EShLanguageMask)(EShLangIntersectMask | EShLangClosestHitMask7112| EShLangAnyHitMask), "hitAttributeNV");7113parseContext.profileRequires((yyvsp[0].lex).loc, ECoreProfile, 460, E_GL_NV_ray_tracing, "hitAttributeNV");7114(yyval.interm.type).init((yyvsp[0].lex).loc);7115(yyval.interm.type).qualifier.storage = EvqHitAttr;7116}7117#line 7119 "MachineIndependent/glslang_tab.cpp"7118break;71197120case 182: /* storage_qualifier: HITOBJECTATTRNV */7121#line 1531 "MachineIndependent/glslang.y"7122{7123parseContext.globalCheck((yyvsp[0].lex).loc, "hitAttributeNV");7124parseContext.requireStage((yyvsp[0].lex).loc, (EShLanguageMask)(EShLangRayGenMask | EShLangClosestHitMask7125| EShLangMissMask), "hitObjectAttributeNV");7126parseContext.profileRequires((yyvsp[0].lex).loc, ECoreProfile, 460, E_GL_NV_shader_invocation_reorder, "hitObjectAttributeNV");7127(yyval.interm.type).init((yyvsp[0].lex).loc);7128(yyval.interm.type).qualifier.storage = EvqHitObjectAttrNV;7129}7130#line 7132 "MachineIndependent/glslang_tab.cpp"7131break;71327133case 183: /* storage_qualifier: HITATTREXT */7134#line 1539 "MachineIndependent/glslang.y"7135{7136parseContext.globalCheck((yyvsp[0].lex).loc, "hitAttributeEXT");7137parseContext.requireStage((yyvsp[0].lex).loc, (EShLanguageMask)(EShLangIntersectMask | EShLangClosestHitMask7138| EShLangAnyHitMask), "hitAttributeEXT");7139parseContext.profileRequires((yyvsp[0].lex).loc, ECoreProfile, 460, E_GL_EXT_ray_tracing, "hitAttributeNV");7140(yyval.interm.type).init((yyvsp[0].lex).loc);7141(yyval.interm.type).qualifier.storage = EvqHitAttr;7142}7143#line 7145 "MachineIndependent/glslang_tab.cpp"7144break;71457146case 184: /* storage_qualifier: PAYLOADNV */7147#line 1547 "MachineIndependent/glslang.y"7148{7149parseContext.globalCheck((yyvsp[0].lex).loc, "rayPayloadNV");7150parseContext.requireStage((yyvsp[0].lex).loc, (EShLanguageMask)(EShLangRayGenMask | EShLangClosestHitMask |7151EShLangAnyHitMask | EShLangMissMask), "rayPayloadNV");7152parseContext.profileRequires((yyvsp[0].lex).loc, ECoreProfile, 460, E_GL_NV_ray_tracing, "rayPayloadNV");7153(yyval.interm.type).init((yyvsp[0].lex).loc);7154(yyval.interm.type).qualifier.storage = EvqPayload;7155}7156#line 7158 "MachineIndependent/glslang_tab.cpp"7157break;71587159case 185: /* storage_qualifier: PAYLOADEXT */7160#line 1555 "MachineIndependent/glslang.y"7161{7162parseContext.globalCheck((yyvsp[0].lex).loc, "rayPayloadEXT");7163parseContext.requireStage((yyvsp[0].lex).loc, (EShLanguageMask)(EShLangRayGenMask | EShLangClosestHitMask |7164EShLangAnyHitMask | EShLangMissMask), "rayPayloadEXT");7165parseContext.profileRequires((yyvsp[0].lex).loc, ECoreProfile, 460, E_GL_EXT_ray_tracing, "rayPayloadEXT");7166(yyval.interm.type).init((yyvsp[0].lex).loc);7167(yyval.interm.type).qualifier.storage = EvqPayload;7168}7169#line 7171 "MachineIndependent/glslang_tab.cpp"7170break;71717172case 186: /* storage_qualifier: PAYLOADINNV */7173#line 1563 "MachineIndependent/glslang.y"7174{7175parseContext.globalCheck((yyvsp[0].lex).loc, "rayPayloadInNV");7176parseContext.requireStage((yyvsp[0].lex).loc, (EShLanguageMask)(EShLangClosestHitMask |7177EShLangAnyHitMask | EShLangMissMask), "rayPayloadInNV");7178parseContext.profileRequires((yyvsp[0].lex).loc, ECoreProfile, 460, E_GL_NV_ray_tracing, "rayPayloadInNV");7179(yyval.interm.type).init((yyvsp[0].lex).loc);7180(yyval.interm.type).qualifier.storage = EvqPayloadIn;7181}7182#line 7184 "MachineIndependent/glslang_tab.cpp"7183break;71847185case 187: /* storage_qualifier: PAYLOADINEXT */7186#line 1571 "MachineIndependent/glslang.y"7187{7188parseContext.globalCheck((yyvsp[0].lex).loc, "rayPayloadInEXT");7189parseContext.requireStage((yyvsp[0].lex).loc, (EShLanguageMask)(EShLangClosestHitMask |7190EShLangAnyHitMask | EShLangMissMask), "rayPayloadInEXT");7191parseContext.profileRequires((yyvsp[0].lex).loc, ECoreProfile, 460, E_GL_EXT_ray_tracing, "rayPayloadInEXT");7192(yyval.interm.type).init((yyvsp[0].lex).loc);7193(yyval.interm.type).qualifier.storage = EvqPayloadIn;7194}7195#line 7197 "MachineIndependent/glslang_tab.cpp"7196break;71977198case 188: /* storage_qualifier: CALLDATANV */7199#line 1579 "MachineIndependent/glslang.y"7200{7201parseContext.globalCheck((yyvsp[0].lex).loc, "callableDataNV");7202parseContext.requireStage((yyvsp[0].lex).loc, (EShLanguageMask)(EShLangRayGenMask |7203EShLangClosestHitMask | EShLangMissMask | EShLangCallableMask), "callableDataNV");7204parseContext.profileRequires((yyvsp[0].lex).loc, ECoreProfile, 460, E_GL_NV_ray_tracing, "callableDataNV");7205(yyval.interm.type).init((yyvsp[0].lex).loc);7206(yyval.interm.type).qualifier.storage = EvqCallableData;7207}7208#line 7210 "MachineIndependent/glslang_tab.cpp"7209break;72107211case 189: /* storage_qualifier: CALLDATAEXT */7212#line 1587 "MachineIndependent/glslang.y"7213{7214parseContext.globalCheck((yyvsp[0].lex).loc, "callableDataEXT");7215parseContext.requireStage((yyvsp[0].lex).loc, (EShLanguageMask)(EShLangRayGenMask |7216EShLangClosestHitMask | EShLangMissMask | EShLangCallableMask), "callableDataEXT");7217parseContext.profileRequires((yyvsp[0].lex).loc, ECoreProfile, 460, E_GL_EXT_ray_tracing, "callableDataEXT");7218(yyval.interm.type).init((yyvsp[0].lex).loc);7219(yyval.interm.type).qualifier.storage = EvqCallableData;7220}7221#line 7223 "MachineIndependent/glslang_tab.cpp"7222break;72237224case 190: /* storage_qualifier: CALLDATAINNV */7225#line 1595 "MachineIndependent/glslang.y"7226{7227parseContext.globalCheck((yyvsp[0].lex).loc, "callableDataInNV");7228parseContext.requireStage((yyvsp[0].lex).loc, (EShLanguageMask)(EShLangCallableMask), "callableDataInNV");7229parseContext.profileRequires((yyvsp[0].lex).loc, ECoreProfile, 460, E_GL_NV_ray_tracing, "callableDataInNV");7230(yyval.interm.type).init((yyvsp[0].lex).loc);7231(yyval.interm.type).qualifier.storage = EvqCallableDataIn;7232}7233#line 7235 "MachineIndependent/glslang_tab.cpp"7234break;72357236case 191: /* storage_qualifier: CALLDATAINEXT */7237#line 1602 "MachineIndependent/glslang.y"7238{7239parseContext.globalCheck((yyvsp[0].lex).loc, "callableDataInEXT");7240parseContext.requireStage((yyvsp[0].lex).loc, (EShLanguageMask)(EShLangCallableMask), "callableDataInEXT");7241parseContext.profileRequires((yyvsp[0].lex).loc, ECoreProfile, 460, E_GL_EXT_ray_tracing, "callableDataInEXT");7242(yyval.interm.type).init((yyvsp[0].lex).loc);7243(yyval.interm.type).qualifier.storage = EvqCallableDataIn;7244}7245#line 7247 "MachineIndependent/glslang_tab.cpp"7246break;72477248case 192: /* storage_qualifier: COHERENT */7249#line 1609 "MachineIndependent/glslang.y"7250{7251(yyval.interm.type).init((yyvsp[0].lex).loc);7252(yyval.interm.type).qualifier.coherent = true;7253}7254#line 7256 "MachineIndependent/glslang_tab.cpp"7255break;72567257case 193: /* storage_qualifier: DEVICECOHERENT */7258#line 1613 "MachineIndependent/glslang.y"7259{7260(yyval.interm.type).init((yyvsp[0].lex).loc);7261parseContext.requireExtensions((yyvsp[0].lex).loc, 1, &E_GL_KHR_memory_scope_semantics, "devicecoherent");7262(yyval.interm.type).qualifier.devicecoherent = true;7263}7264#line 7266 "MachineIndependent/glslang_tab.cpp"7265break;72667267case 194: /* storage_qualifier: QUEUEFAMILYCOHERENT */7268#line 1618 "MachineIndependent/glslang.y"7269{7270(yyval.interm.type).init((yyvsp[0].lex).loc);7271parseContext.requireExtensions((yyvsp[0].lex).loc, 1, &E_GL_KHR_memory_scope_semantics, "queuefamilycoherent");7272(yyval.interm.type).qualifier.queuefamilycoherent = true;7273}7274#line 7276 "MachineIndependent/glslang_tab.cpp"7275break;72767277case 195: /* storage_qualifier: WORKGROUPCOHERENT */7278#line 1623 "MachineIndependent/glslang.y"7279{7280(yyval.interm.type).init((yyvsp[0].lex).loc);7281parseContext.requireExtensions((yyvsp[0].lex).loc, 1, &E_GL_KHR_memory_scope_semantics, "workgroupcoherent");7282(yyval.interm.type).qualifier.workgroupcoherent = true;7283}7284#line 7286 "MachineIndependent/glslang_tab.cpp"7285break;72867287case 196: /* storage_qualifier: SUBGROUPCOHERENT */7288#line 1628 "MachineIndependent/glslang.y"7289{7290(yyval.interm.type).init((yyvsp[0].lex).loc);7291parseContext.requireExtensions((yyvsp[0].lex).loc, 1, &E_GL_KHR_memory_scope_semantics, "subgroupcoherent");7292(yyval.interm.type).qualifier.subgroupcoherent = true;7293}7294#line 7296 "MachineIndependent/glslang_tab.cpp"7295break;72967297case 197: /* storage_qualifier: NONPRIVATE */7298#line 1633 "MachineIndependent/glslang.y"7299{7300(yyval.interm.type).init((yyvsp[0].lex).loc);7301parseContext.requireExtensions((yyvsp[0].lex).loc, 1, &E_GL_KHR_memory_scope_semantics, "nonprivate");7302(yyval.interm.type).qualifier.nonprivate = true;7303}7304#line 7306 "MachineIndependent/glslang_tab.cpp"7305break;73067307case 198: /* storage_qualifier: SHADERCALLCOHERENT */7308#line 1638 "MachineIndependent/glslang.y"7309{7310(yyval.interm.type).init((yyvsp[0].lex).loc);7311parseContext.requireExtensions((yyvsp[0].lex).loc, 1, &E_GL_EXT_ray_tracing, "shadercallcoherent");7312(yyval.interm.type).qualifier.shadercallcoherent = true;7313}7314#line 7316 "MachineIndependent/glslang_tab.cpp"7315break;73167317case 199: /* storage_qualifier: VOLATILE */7318#line 1643 "MachineIndependent/glslang.y"7319{7320(yyval.interm.type).init((yyvsp[0].lex).loc);7321(yyval.interm.type).qualifier.volatil = true;7322}7323#line 7325 "MachineIndependent/glslang_tab.cpp"7324break;73257326case 200: /* storage_qualifier: RESTRICT */7327#line 1647 "MachineIndependent/glslang.y"7328{7329(yyval.interm.type).init((yyvsp[0].lex).loc);7330(yyval.interm.type).qualifier.restrict = true;7331}7332#line 7334 "MachineIndependent/glslang_tab.cpp"7333break;73347335case 201: /* storage_qualifier: READONLY */7336#line 1651 "MachineIndependent/glslang.y"7337{7338(yyval.interm.type).init((yyvsp[0].lex).loc);7339(yyval.interm.type).qualifier.readonly = true;7340}7341#line 7343 "MachineIndependent/glslang_tab.cpp"7342break;73437344case 202: /* storage_qualifier: WRITEONLY */7345#line 1655 "MachineIndependent/glslang.y"7346{7347(yyval.interm.type).init((yyvsp[0].lex).loc);7348(yyval.interm.type).qualifier.writeonly = true;7349}7350#line 7352 "MachineIndependent/glslang_tab.cpp"7351break;73527353case 203: /* storage_qualifier: SUBROUTINE */7354#line 1659 "MachineIndependent/glslang.y"7355{7356parseContext.spvRemoved((yyvsp[0].lex).loc, "subroutine");7357parseContext.globalCheck((yyvsp[0].lex).loc, "subroutine");7358parseContext.unimplemented((yyvsp[0].lex).loc, "subroutine");7359(yyval.interm.type).init((yyvsp[0].lex).loc);7360}7361#line 7363 "MachineIndependent/glslang_tab.cpp"7362break;73637364case 204: /* storage_qualifier: SUBROUTINE LEFT_PAREN type_name_list RIGHT_PAREN */7365#line 1665 "MachineIndependent/glslang.y"7366{7367parseContext.spvRemoved((yyvsp[-3].lex).loc, "subroutine");7368parseContext.globalCheck((yyvsp[-3].lex).loc, "subroutine");7369parseContext.unimplemented((yyvsp[-3].lex).loc, "subroutine");7370(yyval.interm.type).init((yyvsp[-3].lex).loc);7371}7372#line 7374 "MachineIndependent/glslang_tab.cpp"7373break;73747375case 205: /* storage_qualifier: TASKPAYLOADWORKGROUPEXT */7376#line 1671 "MachineIndependent/glslang.y"7377{7378// No need for profile version or extension check. Shader stage already checks both.7379parseContext.globalCheck((yyvsp[0].lex).loc, "taskPayloadSharedEXT");7380parseContext.requireStage((yyvsp[0].lex).loc, (EShLanguageMask)(EShLangTaskMask | EShLangMeshMask), "taskPayloadSharedEXT ");7381(yyval.interm.type).init((yyvsp[0].lex).loc);7382(yyval.interm.type).qualifier.storage = EvqtaskPayloadSharedEXT;7383}7384#line 7386 "MachineIndependent/glslang_tab.cpp"7385break;73867387case 206: /* non_uniform_qualifier: NONUNIFORM */7388#line 1681 "MachineIndependent/glslang.y"7389{7390(yyval.interm.type).init((yyvsp[0].lex).loc);7391(yyval.interm.type).qualifier.nonUniform = true;7392}7393#line 7395 "MachineIndependent/glslang_tab.cpp"7394break;73957396case 207: /* type_name_list: IDENTIFIER */7397#line 1688 "MachineIndependent/glslang.y"7398{7399// TODO7400}7401#line 7403 "MachineIndependent/glslang_tab.cpp"7402break;74037404case 208: /* type_name_list: type_name_list COMMA IDENTIFIER */7405#line 1691 "MachineIndependent/glslang.y"7406{7407// TODO: 4.0 semantics: subroutines7408// 1) make sure each identifier is a type declared earlier with SUBROUTINE7409// 2) save all of the identifiers for future comparison with the declared function7410}7411#line 7413 "MachineIndependent/glslang_tab.cpp"7412break;74137414case 209: /* type_specifier: type_specifier_nonarray type_parameter_specifier_opt */7415#line 1699 "MachineIndependent/glslang.y"7416{7417(yyval.interm.type) = (yyvsp[-1].interm.type);7418(yyval.interm.type).qualifier.precision = parseContext.getDefaultPrecision((yyval.interm.type));7419(yyval.interm.type).typeParameters = (yyvsp[0].interm.typeParameters);7420parseContext.coopMatTypeParametersCheck((yyvsp[-1].interm.type).loc, (yyval.interm.type));74217422}7423#line 7425 "MachineIndependent/glslang_tab.cpp"7424break;74257426case 210: /* type_specifier: type_specifier_nonarray type_parameter_specifier_opt array_specifier */7427#line 1706 "MachineIndependent/glslang.y"7428{7429parseContext.arrayOfArrayVersionCheck((yyvsp[0].interm).loc, (yyvsp[0].interm).arraySizes);7430(yyval.interm.type) = (yyvsp[-2].interm.type);7431(yyval.interm.type).qualifier.precision = parseContext.getDefaultPrecision((yyval.interm.type));7432(yyval.interm.type).typeParameters = (yyvsp[-1].interm.typeParameters);7433(yyval.interm.type).arraySizes = (yyvsp[0].interm).arraySizes;7434parseContext.coopMatTypeParametersCheck((yyvsp[-2].interm.type).loc, (yyval.interm.type));7435}7436#line 7438 "MachineIndependent/glslang_tab.cpp"7437break;74387439case 211: /* array_specifier: LEFT_BRACKET RIGHT_BRACKET */7440#line 1717 "MachineIndependent/glslang.y"7441{7442(yyval.interm).loc = (yyvsp[-1].lex).loc;7443(yyval.interm).arraySizes = new TArraySizes;7444(yyval.interm).arraySizes->addInnerSize();7445}7446#line 7448 "MachineIndependent/glslang_tab.cpp"7447break;74487449case 212: /* array_specifier: LEFT_BRACKET conditional_expression RIGHT_BRACKET */7450#line 1722 "MachineIndependent/glslang.y"7451{7452(yyval.interm).loc = (yyvsp[-2].lex).loc;7453(yyval.interm).arraySizes = new TArraySizes;74547455TArraySize size;7456parseContext.arraySizeCheck((yyvsp[-1].interm.intermTypedNode)->getLoc(), (yyvsp[-1].interm.intermTypedNode), size, "array size");7457(yyval.interm).arraySizes->addInnerSize(size);7458}7459#line 7461 "MachineIndependent/glslang_tab.cpp"7460break;74617462case 213: /* array_specifier: array_specifier LEFT_BRACKET RIGHT_BRACKET */7463#line 1730 "MachineIndependent/glslang.y"7464{7465(yyval.interm) = (yyvsp[-2].interm);7466(yyval.interm).arraySizes->addInnerSize();7467}7468#line 7470 "MachineIndependent/glslang_tab.cpp"7469break;74707471case 214: /* array_specifier: array_specifier LEFT_BRACKET conditional_expression RIGHT_BRACKET */7472#line 1734 "MachineIndependent/glslang.y"7473{7474(yyval.interm) = (yyvsp[-3].interm);74757476TArraySize size;7477parseContext.arraySizeCheck((yyvsp[-1].interm.intermTypedNode)->getLoc(), (yyvsp[-1].interm.intermTypedNode), size, "array size");7478(yyval.interm).arraySizes->addInnerSize(size);7479}7480#line 7482 "MachineIndependent/glslang_tab.cpp"7481break;74827483case 215: /* type_parameter_specifier_opt: type_parameter_specifier */7484#line 1744 "MachineIndependent/glslang.y"7485{7486(yyval.interm.typeParameters) = (yyvsp[0].interm.typeParameters);7487}7488#line 7490 "MachineIndependent/glslang_tab.cpp"7489break;74907491case 216: /* type_parameter_specifier_opt: %empty */7492#line 1747 "MachineIndependent/glslang.y"7493{7494(yyval.interm.typeParameters) = 0;7495}7496#line 7498 "MachineIndependent/glslang_tab.cpp"7497break;74987499case 217: /* type_parameter_specifier: LEFT_ANGLE type_parameter_specifier_list RIGHT_ANGLE */7500#line 1753 "MachineIndependent/glslang.y"7501{7502(yyval.interm.typeParameters) = (yyvsp[-1].interm.typeParameters);7503}7504#line 7506 "MachineIndependent/glslang_tab.cpp"7505break;75067507case 218: /* type_parameter_specifier_list: type_specifier */7508#line 1759 "MachineIndependent/glslang.y"7509{7510(yyval.interm.typeParameters) = new TTypeParameters;7511(yyval.interm.typeParameters)->arraySizes = new TArraySizes;7512(yyval.interm.typeParameters)->spirvType = (yyvsp[0].interm.type).spirvType;7513(yyval.interm.typeParameters)->basicType = (yyvsp[0].interm.type).basicType;7514}7515#line 7517 "MachineIndependent/glslang_tab.cpp"7516break;75177518case 219: /* type_parameter_specifier_list: unary_expression */7519#line 1765 "MachineIndependent/glslang.y"7520{7521(yyval.interm.typeParameters) = new TTypeParameters;7522(yyval.interm.typeParameters)->arraySizes = new TArraySizes;75237524TArraySize size;7525parseContext.arraySizeCheck((yyvsp[0].interm.intermTypedNode)->getLoc(), (yyvsp[0].interm.intermTypedNode), size, "type parameter", true);7526(yyval.interm.typeParameters)->arraySizes->addInnerSize(size);7527}7528#line 7530 "MachineIndependent/glslang_tab.cpp"7529break;75307531case 220: /* type_parameter_specifier_list: type_parameter_specifier_list COMMA unary_expression */7532#line 1773 "MachineIndependent/glslang.y"7533{7534(yyval.interm.typeParameters) = (yyvsp[-2].interm.typeParameters);75357536TArraySize size;7537parseContext.arraySizeCheck((yyvsp[0].interm.intermTypedNode)->getLoc(), (yyvsp[0].interm.intermTypedNode), size, "type parameter", true);7538(yyval.interm.typeParameters)->arraySizes->addInnerSize(size);7539}7540#line 7542 "MachineIndependent/glslang_tab.cpp"7541break;75427543case 221: /* type_specifier_nonarray: VOID */7544#line 1783 "MachineIndependent/glslang.y"7545{7546(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());7547(yyval.interm.type).basicType = EbtVoid;7548}7549#line 7551 "MachineIndependent/glslang_tab.cpp"7550break;75517552case 222: /* type_specifier_nonarray: FLOAT */7553#line 1787 "MachineIndependent/glslang.y"7554{7555(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());7556(yyval.interm.type).basicType = EbtFloat;7557}7558#line 7560 "MachineIndependent/glslang_tab.cpp"7559break;75607561case 223: /* type_specifier_nonarray: INT */7562#line 1791 "MachineIndependent/glslang.y"7563{7564(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());7565(yyval.interm.type).basicType = EbtInt;7566}7567#line 7569 "MachineIndependent/glslang_tab.cpp"7568break;75697570case 224: /* type_specifier_nonarray: UINT */7571#line 1795 "MachineIndependent/glslang.y"7572{7573parseContext.fullIntegerCheck((yyvsp[0].lex).loc, "unsigned integer");7574(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());7575(yyval.interm.type).basicType = EbtUint;7576}7577#line 7579 "MachineIndependent/glslang_tab.cpp"7578break;75797580case 225: /* type_specifier_nonarray: BOOL */7581#line 1800 "MachineIndependent/glslang.y"7582{7583(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());7584(yyval.interm.type).basicType = EbtBool;7585}7586#line 7588 "MachineIndependent/glslang_tab.cpp"7587break;75887589case 226: /* type_specifier_nonarray: VEC2 */7590#line 1804 "MachineIndependent/glslang.y"7591{7592(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());7593(yyval.interm.type).basicType = EbtFloat;7594(yyval.interm.type).setVector(2);7595}7596#line 7598 "MachineIndependent/glslang_tab.cpp"7597break;75987599case 227: /* type_specifier_nonarray: VEC3 */7600#line 1809 "MachineIndependent/glslang.y"7601{7602(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());7603(yyval.interm.type).basicType = EbtFloat;7604(yyval.interm.type).setVector(3);7605}7606#line 7608 "MachineIndependent/glslang_tab.cpp"7607break;76087609case 228: /* type_specifier_nonarray: VEC4 */7610#line 1814 "MachineIndependent/glslang.y"7611{7612(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());7613(yyval.interm.type).basicType = EbtFloat;7614(yyval.interm.type).setVector(4);7615}7616#line 7618 "MachineIndependent/glslang_tab.cpp"7617break;76187619case 229: /* type_specifier_nonarray: BVEC2 */7620#line 1819 "MachineIndependent/glslang.y"7621{7622(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());7623(yyval.interm.type).basicType = EbtBool;7624(yyval.interm.type).setVector(2);7625}7626#line 7628 "MachineIndependent/glslang_tab.cpp"7627break;76287629case 230: /* type_specifier_nonarray: BVEC3 */7630#line 1824 "MachineIndependent/glslang.y"7631{7632(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());7633(yyval.interm.type).basicType = EbtBool;7634(yyval.interm.type).setVector(3);7635}7636#line 7638 "MachineIndependent/glslang_tab.cpp"7637break;76387639case 231: /* type_specifier_nonarray: BVEC4 */7640#line 1829 "MachineIndependent/glslang.y"7641{7642(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());7643(yyval.interm.type).basicType = EbtBool;7644(yyval.interm.type).setVector(4);7645}7646#line 7648 "MachineIndependent/glslang_tab.cpp"7647break;76487649case 232: /* type_specifier_nonarray: IVEC2 */7650#line 1834 "MachineIndependent/glslang.y"7651{7652(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());7653(yyval.interm.type).basicType = EbtInt;7654(yyval.interm.type).setVector(2);7655}7656#line 7658 "MachineIndependent/glslang_tab.cpp"7657break;76587659case 233: /* type_specifier_nonarray: IVEC3 */7660#line 1839 "MachineIndependent/glslang.y"7661{7662(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());7663(yyval.interm.type).basicType = EbtInt;7664(yyval.interm.type).setVector(3);7665}7666#line 7668 "MachineIndependent/glslang_tab.cpp"7667break;76687669case 234: /* type_specifier_nonarray: IVEC4 */7670#line 1844 "MachineIndependent/glslang.y"7671{7672(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());7673(yyval.interm.type).basicType = EbtInt;7674(yyval.interm.type).setVector(4);7675}7676#line 7678 "MachineIndependent/glslang_tab.cpp"7677break;76787679case 235: /* type_specifier_nonarray: UVEC2 */7680#line 1849 "MachineIndependent/glslang.y"7681{7682parseContext.fullIntegerCheck((yyvsp[0].lex).loc, "unsigned integer vector");7683(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());7684(yyval.interm.type).basicType = EbtUint;7685(yyval.interm.type).setVector(2);7686}7687#line 7689 "MachineIndependent/glslang_tab.cpp"7688break;76897690case 236: /* type_specifier_nonarray: UVEC3 */7691#line 1855 "MachineIndependent/glslang.y"7692{7693parseContext.fullIntegerCheck((yyvsp[0].lex).loc, "unsigned integer vector");7694(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());7695(yyval.interm.type).basicType = EbtUint;7696(yyval.interm.type).setVector(3);7697}7698#line 7700 "MachineIndependent/glslang_tab.cpp"7699break;77007701case 237: /* type_specifier_nonarray: UVEC4 */7702#line 1861 "MachineIndependent/glslang.y"7703{7704parseContext.fullIntegerCheck((yyvsp[0].lex).loc, "unsigned integer vector");7705(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());7706(yyval.interm.type).basicType = EbtUint;7707(yyval.interm.type).setVector(4);7708}7709#line 7711 "MachineIndependent/glslang_tab.cpp"7710break;77117712case 238: /* type_specifier_nonarray: MAT2 */7713#line 1867 "MachineIndependent/glslang.y"7714{7715(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());7716(yyval.interm.type).basicType = EbtFloat;7717(yyval.interm.type).setMatrix(2, 2);7718}7719#line 7721 "MachineIndependent/glslang_tab.cpp"7720break;77217722case 239: /* type_specifier_nonarray: MAT3 */7723#line 1872 "MachineIndependent/glslang.y"7724{7725(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());7726(yyval.interm.type).basicType = EbtFloat;7727(yyval.interm.type).setMatrix(3, 3);7728}7729#line 7731 "MachineIndependent/glslang_tab.cpp"7730break;77317732case 240: /* type_specifier_nonarray: MAT4 */7733#line 1877 "MachineIndependent/glslang.y"7734{7735(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());7736(yyval.interm.type).basicType = EbtFloat;7737(yyval.interm.type).setMatrix(4, 4);7738}7739#line 7741 "MachineIndependent/glslang_tab.cpp"7740break;77417742case 241: /* type_specifier_nonarray: MAT2X2 */7743#line 1882 "MachineIndependent/glslang.y"7744{7745(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());7746(yyval.interm.type).basicType = EbtFloat;7747(yyval.interm.type).setMatrix(2, 2);7748}7749#line 7751 "MachineIndependent/glslang_tab.cpp"7750break;77517752case 242: /* type_specifier_nonarray: MAT2X3 */7753#line 1887 "MachineIndependent/glslang.y"7754{7755(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());7756(yyval.interm.type).basicType = EbtFloat;7757(yyval.interm.type).setMatrix(2, 3);7758}7759#line 7761 "MachineIndependent/glslang_tab.cpp"7760break;77617762case 243: /* type_specifier_nonarray: MAT2X4 */7763#line 1892 "MachineIndependent/glslang.y"7764{7765(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());7766(yyval.interm.type).basicType = EbtFloat;7767(yyval.interm.type).setMatrix(2, 4);7768}7769#line 7771 "MachineIndependent/glslang_tab.cpp"7770break;77717772case 244: /* type_specifier_nonarray: MAT3X2 */7773#line 1897 "MachineIndependent/glslang.y"7774{7775(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());7776(yyval.interm.type).basicType = EbtFloat;7777(yyval.interm.type).setMatrix(3, 2);7778}7779#line 7781 "MachineIndependent/glslang_tab.cpp"7780break;77817782case 245: /* type_specifier_nonarray: MAT3X3 */7783#line 1902 "MachineIndependent/glslang.y"7784{7785(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());7786(yyval.interm.type).basicType = EbtFloat;7787(yyval.interm.type).setMatrix(3, 3);7788}7789#line 7791 "MachineIndependent/glslang_tab.cpp"7790break;77917792case 246: /* type_specifier_nonarray: MAT3X4 */7793#line 1907 "MachineIndependent/glslang.y"7794{7795(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());7796(yyval.interm.type).basicType = EbtFloat;7797(yyval.interm.type).setMatrix(3, 4);7798}7799#line 7801 "MachineIndependent/glslang_tab.cpp"7800break;78017802case 247: /* type_specifier_nonarray: MAT4X2 */7803#line 1912 "MachineIndependent/glslang.y"7804{7805(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());7806(yyval.interm.type).basicType = EbtFloat;7807(yyval.interm.type).setMatrix(4, 2);7808}7809#line 7811 "MachineIndependent/glslang_tab.cpp"7810break;78117812case 248: /* type_specifier_nonarray: MAT4X3 */7813#line 1917 "MachineIndependent/glslang.y"7814{7815(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());7816(yyval.interm.type).basicType = EbtFloat;7817(yyval.interm.type).setMatrix(4, 3);7818}7819#line 7821 "MachineIndependent/glslang_tab.cpp"7820break;78217822case 249: /* type_specifier_nonarray: MAT4X4 */7823#line 1922 "MachineIndependent/glslang.y"7824{7825(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());7826(yyval.interm.type).basicType = EbtFloat;7827(yyval.interm.type).setMatrix(4, 4);7828}7829#line 7831 "MachineIndependent/glslang_tab.cpp"7830break;78317832case 250: /* type_specifier_nonarray: DOUBLE */7833#line 1927 "MachineIndependent/glslang.y"7834{7835parseContext.requireProfile((yyvsp[0].lex).loc, ECoreProfile | ECompatibilityProfile, "double");7836if (! parseContext.symbolTable.atBuiltInLevel())7837parseContext.doubleCheck((yyvsp[0].lex).loc, "double");7838(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());7839(yyval.interm.type).basicType = EbtDouble;7840}7841#line 7843 "MachineIndependent/glslang_tab.cpp"7842break;78437844case 251: /* type_specifier_nonarray: FLOAT16_T */7845#line 1934 "MachineIndependent/glslang.y"7846{7847parseContext.float16ScalarVectorCheck((yyvsp[0].lex).loc, "float16_t", parseContext.symbolTable.atBuiltInLevel());7848(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());7849(yyval.interm.type).basicType = EbtFloat16;7850}7851#line 7853 "MachineIndependent/glslang_tab.cpp"7852break;78537854case 252: /* type_specifier_nonarray: FLOAT32_T */7855#line 1939 "MachineIndependent/glslang.y"7856{7857parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t", parseContext.symbolTable.atBuiltInLevel());7858(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());7859(yyval.interm.type).basicType = EbtFloat;7860}7861#line 7863 "MachineIndependent/glslang_tab.cpp"7862break;78637864case 253: /* type_specifier_nonarray: FLOAT64_T */7865#line 1944 "MachineIndependent/glslang.y"7866{7867parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t", parseContext.symbolTable.atBuiltInLevel());7868(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());7869(yyval.interm.type).basicType = EbtDouble;7870}7871#line 7873 "MachineIndependent/glslang_tab.cpp"7872break;78737874case 254: /* type_specifier_nonarray: INT8_T */7875#line 1949 "MachineIndependent/glslang.y"7876{7877parseContext.int8ScalarVectorCheck((yyvsp[0].lex).loc, "8-bit signed integer", parseContext.symbolTable.atBuiltInLevel());7878(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());7879(yyval.interm.type).basicType = EbtInt8;7880}7881#line 7883 "MachineIndependent/glslang_tab.cpp"7882break;78837884case 255: /* type_specifier_nonarray: UINT8_T */7885#line 1954 "MachineIndependent/glslang.y"7886{7887parseContext.int8ScalarVectorCheck((yyvsp[0].lex).loc, "8-bit unsigned integer", parseContext.symbolTable.atBuiltInLevel());7888(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());7889(yyval.interm.type).basicType = EbtUint8;7890}7891#line 7893 "MachineIndependent/glslang_tab.cpp"7892break;78937894case 256: /* type_specifier_nonarray: INT16_T */7895#line 1959 "MachineIndependent/glslang.y"7896{7897parseContext.int16ScalarVectorCheck((yyvsp[0].lex).loc, "16-bit signed integer", parseContext.symbolTable.atBuiltInLevel());7898(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());7899(yyval.interm.type).basicType = EbtInt16;7900}7901#line 7903 "MachineIndependent/glslang_tab.cpp"7902break;79037904case 257: /* type_specifier_nonarray: UINT16_T */7905#line 1964 "MachineIndependent/glslang.y"7906{7907parseContext.int16ScalarVectorCheck((yyvsp[0].lex).loc, "16-bit unsigned integer", parseContext.symbolTable.atBuiltInLevel());7908(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());7909(yyval.interm.type).basicType = EbtUint16;7910}7911#line 7913 "MachineIndependent/glslang_tab.cpp"7912break;79137914case 258: /* type_specifier_nonarray: INT32_T */7915#line 1969 "MachineIndependent/glslang.y"7916{7917parseContext.explicitInt32Check((yyvsp[0].lex).loc, "32-bit signed integer", parseContext.symbolTable.atBuiltInLevel());7918(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());7919(yyval.interm.type).basicType = EbtInt;7920}7921#line 7923 "MachineIndependent/glslang_tab.cpp"7922break;79237924case 259: /* type_specifier_nonarray: UINT32_T */7925#line 1974 "MachineIndependent/glslang.y"7926{7927parseContext.explicitInt32Check((yyvsp[0].lex).loc, "32-bit unsigned integer", parseContext.symbolTable.atBuiltInLevel());7928(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());7929(yyval.interm.type).basicType = EbtUint;7930}7931#line 7933 "MachineIndependent/glslang_tab.cpp"7932break;79337934case 260: /* type_specifier_nonarray: INT64_T */7935#line 1979 "MachineIndependent/glslang.y"7936{7937parseContext.int64Check((yyvsp[0].lex).loc, "64-bit integer", parseContext.symbolTable.atBuiltInLevel());7938(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());7939(yyval.interm.type).basicType = EbtInt64;7940}7941#line 7943 "MachineIndependent/glslang_tab.cpp"7942break;79437944case 261: /* type_specifier_nonarray: UINT64_T */7945#line 1984 "MachineIndependent/glslang.y"7946{7947parseContext.int64Check((yyvsp[0].lex).loc, "64-bit unsigned integer", parseContext.symbolTable.atBuiltInLevel());7948(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());7949(yyval.interm.type).basicType = EbtUint64;7950}7951#line 7953 "MachineIndependent/glslang_tab.cpp"7952break;79537954case 262: /* type_specifier_nonarray: DVEC2 */7955#line 1989 "MachineIndependent/glslang.y"7956{7957parseContext.requireProfile((yyvsp[0].lex).loc, ECoreProfile | ECompatibilityProfile, "double vector");7958if (! parseContext.symbolTable.atBuiltInLevel())7959parseContext.doubleCheck((yyvsp[0].lex).loc, "double vector");7960(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());7961(yyval.interm.type).basicType = EbtDouble;7962(yyval.interm.type).setVector(2);7963}7964#line 7966 "MachineIndependent/glslang_tab.cpp"7965break;79667967case 263: /* type_specifier_nonarray: DVEC3 */7968#line 1997 "MachineIndependent/glslang.y"7969{7970parseContext.requireProfile((yyvsp[0].lex).loc, ECoreProfile | ECompatibilityProfile, "double vector");7971if (! parseContext.symbolTable.atBuiltInLevel())7972parseContext.doubleCheck((yyvsp[0].lex).loc, "double vector");7973(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());7974(yyval.interm.type).basicType = EbtDouble;7975(yyval.interm.type).setVector(3);7976}7977#line 7979 "MachineIndependent/glslang_tab.cpp"7978break;79797980case 264: /* type_specifier_nonarray: DVEC4 */7981#line 2005 "MachineIndependent/glslang.y"7982{7983parseContext.requireProfile((yyvsp[0].lex).loc, ECoreProfile | ECompatibilityProfile, "double vector");7984if (! parseContext.symbolTable.atBuiltInLevel())7985parseContext.doubleCheck((yyvsp[0].lex).loc, "double vector");7986(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());7987(yyval.interm.type).basicType = EbtDouble;7988(yyval.interm.type).setVector(4);7989}7990#line 7992 "MachineIndependent/glslang_tab.cpp"7991break;79927993case 265: /* type_specifier_nonarray: F16VEC2 */7994#line 2013 "MachineIndependent/glslang.y"7995{7996parseContext.float16ScalarVectorCheck((yyvsp[0].lex).loc, "half float vector", parseContext.symbolTable.atBuiltInLevel());7997(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());7998(yyval.interm.type).basicType = EbtFloat16;7999(yyval.interm.type).setVector(2);8000}8001#line 8003 "MachineIndependent/glslang_tab.cpp"8002break;80038004case 266: /* type_specifier_nonarray: F16VEC3 */8005#line 2019 "MachineIndependent/glslang.y"8006{8007parseContext.float16ScalarVectorCheck((yyvsp[0].lex).loc, "half float vector", parseContext.symbolTable.atBuiltInLevel());8008(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());8009(yyval.interm.type).basicType = EbtFloat16;8010(yyval.interm.type).setVector(3);8011}8012#line 8014 "MachineIndependent/glslang_tab.cpp"8013break;80148015case 267: /* type_specifier_nonarray: F16VEC4 */8016#line 2025 "MachineIndependent/glslang.y"8017{8018parseContext.float16ScalarVectorCheck((yyvsp[0].lex).loc, "half float vector", parseContext.symbolTable.atBuiltInLevel());8019(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());8020(yyval.interm.type).basicType = EbtFloat16;8021(yyval.interm.type).setVector(4);8022}8023#line 8025 "MachineIndependent/glslang_tab.cpp"8024break;80258026case 268: /* type_specifier_nonarray: F32VEC2 */8027#line 2031 "MachineIndependent/glslang.y"8028{8029parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t vector", parseContext.symbolTable.atBuiltInLevel());8030(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());8031(yyval.interm.type).basicType = EbtFloat;8032(yyval.interm.type).setVector(2);8033}8034#line 8036 "MachineIndependent/glslang_tab.cpp"8035break;80368037case 269: /* type_specifier_nonarray: F32VEC3 */8038#line 2037 "MachineIndependent/glslang.y"8039{8040parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t vector", parseContext.symbolTable.atBuiltInLevel());8041(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());8042(yyval.interm.type).basicType = EbtFloat;8043(yyval.interm.type).setVector(3);8044}8045#line 8047 "MachineIndependent/glslang_tab.cpp"8046break;80478048case 270: /* type_specifier_nonarray: F32VEC4 */8049#line 2043 "MachineIndependent/glslang.y"8050{8051parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t vector", parseContext.symbolTable.atBuiltInLevel());8052(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());8053(yyval.interm.type).basicType = EbtFloat;8054(yyval.interm.type).setVector(4);8055}8056#line 8058 "MachineIndependent/glslang_tab.cpp"8057break;80588059case 271: /* type_specifier_nonarray: F64VEC2 */8060#line 2049 "MachineIndependent/glslang.y"8061{8062parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t vector", parseContext.symbolTable.atBuiltInLevel());8063(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());8064(yyval.interm.type).basicType = EbtDouble;8065(yyval.interm.type).setVector(2);8066}8067#line 8069 "MachineIndependent/glslang_tab.cpp"8068break;80698070case 272: /* type_specifier_nonarray: F64VEC3 */8071#line 2055 "MachineIndependent/glslang.y"8072{8073parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t vector", parseContext.symbolTable.atBuiltInLevel());8074(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());8075(yyval.interm.type).basicType = EbtDouble;8076(yyval.interm.type).setVector(3);8077}8078#line 8080 "MachineIndependent/glslang_tab.cpp"8079break;80808081case 273: /* type_specifier_nonarray: F64VEC4 */8082#line 2061 "MachineIndependent/glslang.y"8083{8084parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t vector", parseContext.symbolTable.atBuiltInLevel());8085(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());8086(yyval.interm.type).basicType = EbtDouble;8087(yyval.interm.type).setVector(4);8088}8089#line 8091 "MachineIndependent/glslang_tab.cpp"8090break;80918092case 274: /* type_specifier_nonarray: I8VEC2 */8093#line 2067 "MachineIndependent/glslang.y"8094{8095parseContext.int8ScalarVectorCheck((yyvsp[0].lex).loc, "8-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel());8096(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());8097(yyval.interm.type).basicType = EbtInt8;8098(yyval.interm.type).setVector(2);8099}8100#line 8102 "MachineIndependent/glslang_tab.cpp"8101break;81028103case 275: /* type_specifier_nonarray: I8VEC3 */8104#line 2073 "MachineIndependent/glslang.y"8105{8106parseContext.int8ScalarVectorCheck((yyvsp[0].lex).loc, "8-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel());8107(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());8108(yyval.interm.type).basicType = EbtInt8;8109(yyval.interm.type).setVector(3);8110}8111#line 8113 "MachineIndependent/glslang_tab.cpp"8112break;81138114case 276: /* type_specifier_nonarray: I8VEC4 */8115#line 2079 "MachineIndependent/glslang.y"8116{8117parseContext.int8ScalarVectorCheck((yyvsp[0].lex).loc, "8-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel());8118(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());8119(yyval.interm.type).basicType = EbtInt8;8120(yyval.interm.type).setVector(4);8121}8122#line 8124 "MachineIndependent/glslang_tab.cpp"8123break;81248125case 277: /* type_specifier_nonarray: I16VEC2 */8126#line 2085 "MachineIndependent/glslang.y"8127{8128parseContext.int16ScalarVectorCheck((yyvsp[0].lex).loc, "16-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel());8129(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());8130(yyval.interm.type).basicType = EbtInt16;8131(yyval.interm.type).setVector(2);8132}8133#line 8135 "MachineIndependent/glslang_tab.cpp"8134break;81358136case 278: /* type_specifier_nonarray: I16VEC3 */8137#line 2091 "MachineIndependent/glslang.y"8138{8139parseContext.int16ScalarVectorCheck((yyvsp[0].lex).loc, "16-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel());8140(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());8141(yyval.interm.type).basicType = EbtInt16;8142(yyval.interm.type).setVector(3);8143}8144#line 8146 "MachineIndependent/glslang_tab.cpp"8145break;81468147case 279: /* type_specifier_nonarray: I16VEC4 */8148#line 2097 "MachineIndependent/glslang.y"8149{8150parseContext.int16ScalarVectorCheck((yyvsp[0].lex).loc, "16-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel());8151(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());8152(yyval.interm.type).basicType = EbtInt16;8153(yyval.interm.type).setVector(4);8154}8155#line 8157 "MachineIndependent/glslang_tab.cpp"8156break;81578158case 280: /* type_specifier_nonarray: I32VEC2 */8159#line 2103 "MachineIndependent/glslang.y"8160{8161parseContext.explicitInt32Check((yyvsp[0].lex).loc, "32-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel());8162(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());8163(yyval.interm.type).basicType = EbtInt;8164(yyval.interm.type).setVector(2);8165}8166#line 8168 "MachineIndependent/glslang_tab.cpp"8167break;81688169case 281: /* type_specifier_nonarray: I32VEC3 */8170#line 2109 "MachineIndependent/glslang.y"8171{8172parseContext.explicitInt32Check((yyvsp[0].lex).loc, "32-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel());8173(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());8174(yyval.interm.type).basicType = EbtInt;8175(yyval.interm.type).setVector(3);8176}8177#line 8179 "MachineIndependent/glslang_tab.cpp"8178break;81798180case 282: /* type_specifier_nonarray: I32VEC4 */8181#line 2115 "MachineIndependent/glslang.y"8182{8183parseContext.explicitInt32Check((yyvsp[0].lex).loc, "32-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel());8184(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());8185(yyval.interm.type).basicType = EbtInt;8186(yyval.interm.type).setVector(4);8187}8188#line 8190 "MachineIndependent/glslang_tab.cpp"8189break;81908191case 283: /* type_specifier_nonarray: I64VEC2 */8192#line 2121 "MachineIndependent/glslang.y"8193{8194parseContext.int64Check((yyvsp[0].lex).loc, "64-bit integer vector", parseContext.symbolTable.atBuiltInLevel());8195(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());8196(yyval.interm.type).basicType = EbtInt64;8197(yyval.interm.type).setVector(2);8198}8199#line 8201 "MachineIndependent/glslang_tab.cpp"8200break;82018202case 284: /* type_specifier_nonarray: I64VEC3 */8203#line 2127 "MachineIndependent/glslang.y"8204{8205parseContext.int64Check((yyvsp[0].lex).loc, "64-bit integer vector", parseContext.symbolTable.atBuiltInLevel());8206(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());8207(yyval.interm.type).basicType = EbtInt64;8208(yyval.interm.type).setVector(3);8209}8210#line 8212 "MachineIndependent/glslang_tab.cpp"8211break;82128213case 285: /* type_specifier_nonarray: I64VEC4 */8214#line 2133 "MachineIndependent/glslang.y"8215{8216parseContext.int64Check((yyvsp[0].lex).loc, "64-bit integer vector", parseContext.symbolTable.atBuiltInLevel());8217(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());8218(yyval.interm.type).basicType = EbtInt64;8219(yyval.interm.type).setVector(4);8220}8221#line 8223 "MachineIndependent/glslang_tab.cpp"8222break;82238224case 286: /* type_specifier_nonarray: U8VEC2 */8225#line 2139 "MachineIndependent/glslang.y"8226{8227parseContext.int8ScalarVectorCheck((yyvsp[0].lex).loc, "8-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel());8228(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());8229(yyval.interm.type).basicType = EbtUint8;8230(yyval.interm.type).setVector(2);8231}8232#line 8234 "MachineIndependent/glslang_tab.cpp"8233break;82348235case 287: /* type_specifier_nonarray: U8VEC3 */8236#line 2145 "MachineIndependent/glslang.y"8237{8238parseContext.int8ScalarVectorCheck((yyvsp[0].lex).loc, "8-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel());8239(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());8240(yyval.interm.type).basicType = EbtUint8;8241(yyval.interm.type).setVector(3);8242}8243#line 8245 "MachineIndependent/glslang_tab.cpp"8244break;82458246case 288: /* type_specifier_nonarray: U8VEC4 */8247#line 2151 "MachineIndependent/glslang.y"8248{8249parseContext.int8ScalarVectorCheck((yyvsp[0].lex).loc, "8-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel());8250(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());8251(yyval.interm.type).basicType = EbtUint8;8252(yyval.interm.type).setVector(4);8253}8254#line 8256 "MachineIndependent/glslang_tab.cpp"8255break;82568257case 289: /* type_specifier_nonarray: U16VEC2 */8258#line 2157 "MachineIndependent/glslang.y"8259{8260parseContext.int16ScalarVectorCheck((yyvsp[0].lex).loc, "16-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel());8261(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());8262(yyval.interm.type).basicType = EbtUint16;8263(yyval.interm.type).setVector(2);8264}8265#line 8267 "MachineIndependent/glslang_tab.cpp"8266break;82678268case 290: /* type_specifier_nonarray: U16VEC3 */8269#line 2163 "MachineIndependent/glslang.y"8270{8271parseContext.int16ScalarVectorCheck((yyvsp[0].lex).loc, "16-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel());8272(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());8273(yyval.interm.type).basicType = EbtUint16;8274(yyval.interm.type).setVector(3);8275}8276#line 8278 "MachineIndependent/glslang_tab.cpp"8277break;82788279case 291: /* type_specifier_nonarray: U16VEC4 */8280#line 2169 "MachineIndependent/glslang.y"8281{8282parseContext.int16ScalarVectorCheck((yyvsp[0].lex).loc, "16-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel());8283(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());8284(yyval.interm.type).basicType = EbtUint16;8285(yyval.interm.type).setVector(4);8286}8287#line 8289 "MachineIndependent/glslang_tab.cpp"8288break;82898290case 292: /* type_specifier_nonarray: U32VEC2 */8291#line 2175 "MachineIndependent/glslang.y"8292{8293parseContext.explicitInt32Check((yyvsp[0].lex).loc, "32-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel());8294(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());8295(yyval.interm.type).basicType = EbtUint;8296(yyval.interm.type).setVector(2);8297}8298#line 8300 "MachineIndependent/glslang_tab.cpp"8299break;83008301case 293: /* type_specifier_nonarray: U32VEC3 */8302#line 2181 "MachineIndependent/glslang.y"8303{8304parseContext.explicitInt32Check((yyvsp[0].lex).loc, "32-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel());8305(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());8306(yyval.interm.type).basicType = EbtUint;8307(yyval.interm.type).setVector(3);8308}8309#line 8311 "MachineIndependent/glslang_tab.cpp"8310break;83118312case 294: /* type_specifier_nonarray: U32VEC4 */8313#line 2187 "MachineIndependent/glslang.y"8314{8315parseContext.explicitInt32Check((yyvsp[0].lex).loc, "32-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel());8316(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());8317(yyval.interm.type).basicType = EbtUint;8318(yyval.interm.type).setVector(4);8319}8320#line 8322 "MachineIndependent/glslang_tab.cpp"8321break;83228323case 295: /* type_specifier_nonarray: U64VEC2 */8324#line 2193 "MachineIndependent/glslang.y"8325{8326parseContext.int64Check((yyvsp[0].lex).loc, "64-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel());8327(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());8328(yyval.interm.type).basicType = EbtUint64;8329(yyval.interm.type).setVector(2);8330}8331#line 8333 "MachineIndependent/glslang_tab.cpp"8332break;83338334case 296: /* type_specifier_nonarray: U64VEC3 */8335#line 2199 "MachineIndependent/glslang.y"8336{8337parseContext.int64Check((yyvsp[0].lex).loc, "64-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel());8338(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());8339(yyval.interm.type).basicType = EbtUint64;8340(yyval.interm.type).setVector(3);8341}8342#line 8344 "MachineIndependent/glslang_tab.cpp"8343break;83448345case 297: /* type_specifier_nonarray: U64VEC4 */8346#line 2205 "MachineIndependent/glslang.y"8347{8348parseContext.int64Check((yyvsp[0].lex).loc, "64-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel());8349(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());8350(yyval.interm.type).basicType = EbtUint64;8351(yyval.interm.type).setVector(4);8352}8353#line 8355 "MachineIndependent/glslang_tab.cpp"8354break;83558356case 298: /* type_specifier_nonarray: DMAT2 */8357#line 2211 "MachineIndependent/glslang.y"8358{8359parseContext.requireProfile((yyvsp[0].lex).loc, ECoreProfile | ECompatibilityProfile, "double matrix");8360if (! parseContext.symbolTable.atBuiltInLevel())8361parseContext.doubleCheck((yyvsp[0].lex).loc, "double matrix");8362(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());8363(yyval.interm.type).basicType = EbtDouble;8364(yyval.interm.type).setMatrix(2, 2);8365}8366#line 8368 "MachineIndependent/glslang_tab.cpp"8367break;83688369case 299: /* type_specifier_nonarray: DMAT3 */8370#line 2219 "MachineIndependent/glslang.y"8371{8372parseContext.requireProfile((yyvsp[0].lex).loc, ECoreProfile | ECompatibilityProfile, "double matrix");8373if (! parseContext.symbolTable.atBuiltInLevel())8374parseContext.doubleCheck((yyvsp[0].lex).loc, "double matrix");8375(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());8376(yyval.interm.type).basicType = EbtDouble;8377(yyval.interm.type).setMatrix(3, 3);8378}8379#line 8381 "MachineIndependent/glslang_tab.cpp"8380break;83818382case 300: /* type_specifier_nonarray: DMAT4 */8383#line 2227 "MachineIndependent/glslang.y"8384{8385parseContext.requireProfile((yyvsp[0].lex).loc, ECoreProfile | ECompatibilityProfile, "double matrix");8386if (! parseContext.symbolTable.atBuiltInLevel())8387parseContext.doubleCheck((yyvsp[0].lex).loc, "double matrix");8388(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());8389(yyval.interm.type).basicType = EbtDouble;8390(yyval.interm.type).setMatrix(4, 4);8391}8392#line 8394 "MachineIndependent/glslang_tab.cpp"8393break;83948395case 301: /* type_specifier_nonarray: DMAT2X2 */8396#line 2235 "MachineIndependent/glslang.y"8397{8398parseContext.requireProfile((yyvsp[0].lex).loc, ECoreProfile | ECompatibilityProfile, "double matrix");8399if (! parseContext.symbolTable.atBuiltInLevel())8400parseContext.doubleCheck((yyvsp[0].lex).loc, "double matrix");8401(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());8402(yyval.interm.type).basicType = EbtDouble;8403(yyval.interm.type).setMatrix(2, 2);8404}8405#line 8407 "MachineIndependent/glslang_tab.cpp"8406break;84078408case 302: /* type_specifier_nonarray: DMAT2X3 */8409#line 2243 "MachineIndependent/glslang.y"8410{8411parseContext.requireProfile((yyvsp[0].lex).loc, ECoreProfile | ECompatibilityProfile, "double matrix");8412if (! parseContext.symbolTable.atBuiltInLevel())8413parseContext.doubleCheck((yyvsp[0].lex).loc, "double matrix");8414(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());8415(yyval.interm.type).basicType = EbtDouble;8416(yyval.interm.type).setMatrix(2, 3);8417}8418#line 8420 "MachineIndependent/glslang_tab.cpp"8419break;84208421case 303: /* type_specifier_nonarray: DMAT2X4 */8422#line 2251 "MachineIndependent/glslang.y"8423{8424parseContext.requireProfile((yyvsp[0].lex).loc, ECoreProfile | ECompatibilityProfile, "double matrix");8425if (! parseContext.symbolTable.atBuiltInLevel())8426parseContext.doubleCheck((yyvsp[0].lex).loc, "double matrix");8427(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());8428(yyval.interm.type).basicType = EbtDouble;8429(yyval.interm.type).setMatrix(2, 4);8430}8431#line 8433 "MachineIndependent/glslang_tab.cpp"8432break;84338434case 304: /* type_specifier_nonarray: DMAT3X2 */8435#line 2259 "MachineIndependent/glslang.y"8436{8437parseContext.requireProfile((yyvsp[0].lex).loc, ECoreProfile | ECompatibilityProfile, "double matrix");8438if (! parseContext.symbolTable.atBuiltInLevel())8439parseContext.doubleCheck((yyvsp[0].lex).loc, "double matrix");8440(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());8441(yyval.interm.type).basicType = EbtDouble;8442(yyval.interm.type).setMatrix(3, 2);8443}8444#line 8446 "MachineIndependent/glslang_tab.cpp"8445break;84468447case 305: /* type_specifier_nonarray: DMAT3X3 */8448#line 2267 "MachineIndependent/glslang.y"8449{8450parseContext.requireProfile((yyvsp[0].lex).loc, ECoreProfile | ECompatibilityProfile, "double matrix");8451if (! parseContext.symbolTable.atBuiltInLevel())8452parseContext.doubleCheck((yyvsp[0].lex).loc, "double matrix");8453(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());8454(yyval.interm.type).basicType = EbtDouble;8455(yyval.interm.type).setMatrix(3, 3);8456}8457#line 8459 "MachineIndependent/glslang_tab.cpp"8458break;84598460case 306: /* type_specifier_nonarray: DMAT3X4 */8461#line 2275 "MachineIndependent/glslang.y"8462{8463parseContext.requireProfile((yyvsp[0].lex).loc, ECoreProfile | ECompatibilityProfile, "double matrix");8464if (! parseContext.symbolTable.atBuiltInLevel())8465parseContext.doubleCheck((yyvsp[0].lex).loc, "double matrix");8466(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());8467(yyval.interm.type).basicType = EbtDouble;8468(yyval.interm.type).setMatrix(3, 4);8469}8470#line 8472 "MachineIndependent/glslang_tab.cpp"8471break;84728473case 307: /* type_specifier_nonarray: DMAT4X2 */8474#line 2283 "MachineIndependent/glslang.y"8475{8476parseContext.requireProfile((yyvsp[0].lex).loc, ECoreProfile | ECompatibilityProfile, "double matrix");8477if (! parseContext.symbolTable.atBuiltInLevel())8478parseContext.doubleCheck((yyvsp[0].lex).loc, "double matrix");8479(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());8480(yyval.interm.type).basicType = EbtDouble;8481(yyval.interm.type).setMatrix(4, 2);8482}8483#line 8485 "MachineIndependent/glslang_tab.cpp"8484break;84858486case 308: /* type_specifier_nonarray: DMAT4X3 */8487#line 2291 "MachineIndependent/glslang.y"8488{8489parseContext.requireProfile((yyvsp[0].lex).loc, ECoreProfile | ECompatibilityProfile, "double matrix");8490if (! parseContext.symbolTable.atBuiltInLevel())8491parseContext.doubleCheck((yyvsp[0].lex).loc, "double matrix");8492(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());8493(yyval.interm.type).basicType = EbtDouble;8494(yyval.interm.type).setMatrix(4, 3);8495}8496#line 8498 "MachineIndependent/glslang_tab.cpp"8497break;84988499case 309: /* type_specifier_nonarray: DMAT4X4 */8500#line 2299 "MachineIndependent/glslang.y"8501{8502parseContext.requireProfile((yyvsp[0].lex).loc, ECoreProfile | ECompatibilityProfile, "double matrix");8503if (! parseContext.symbolTable.atBuiltInLevel())8504parseContext.doubleCheck((yyvsp[0].lex).loc, "double matrix");8505(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());8506(yyval.interm.type).basicType = EbtDouble;8507(yyval.interm.type).setMatrix(4, 4);8508}8509#line 8511 "MachineIndependent/glslang_tab.cpp"8510break;85118512case 310: /* type_specifier_nonarray: F16MAT2 */8513#line 2307 "MachineIndependent/glslang.y"8514{8515parseContext.float16Check((yyvsp[0].lex).loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel());8516(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());8517(yyval.interm.type).basicType = EbtFloat16;8518(yyval.interm.type).setMatrix(2, 2);8519}8520#line 8522 "MachineIndependent/glslang_tab.cpp"8521break;85228523case 311: /* type_specifier_nonarray: F16MAT3 */8524#line 2313 "MachineIndependent/glslang.y"8525{8526parseContext.float16Check((yyvsp[0].lex).loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel());8527(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());8528(yyval.interm.type).basicType = EbtFloat16;8529(yyval.interm.type).setMatrix(3, 3);8530}8531#line 8533 "MachineIndependent/glslang_tab.cpp"8532break;85338534case 312: /* type_specifier_nonarray: F16MAT4 */8535#line 2319 "MachineIndependent/glslang.y"8536{8537parseContext.float16Check((yyvsp[0].lex).loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel());8538(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());8539(yyval.interm.type).basicType = EbtFloat16;8540(yyval.interm.type).setMatrix(4, 4);8541}8542#line 8544 "MachineIndependent/glslang_tab.cpp"8543break;85448545case 313: /* type_specifier_nonarray: F16MAT2X2 */8546#line 2325 "MachineIndependent/glslang.y"8547{8548parseContext.float16Check((yyvsp[0].lex).loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel());8549(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());8550(yyval.interm.type).basicType = EbtFloat16;8551(yyval.interm.type).setMatrix(2, 2);8552}8553#line 8555 "MachineIndependent/glslang_tab.cpp"8554break;85558556case 314: /* type_specifier_nonarray: F16MAT2X3 */8557#line 2331 "MachineIndependent/glslang.y"8558{8559parseContext.float16Check((yyvsp[0].lex).loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel());8560(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());8561(yyval.interm.type).basicType = EbtFloat16;8562(yyval.interm.type).setMatrix(2, 3);8563}8564#line 8566 "MachineIndependent/glslang_tab.cpp"8565break;85668567case 315: /* type_specifier_nonarray: F16MAT2X4 */8568#line 2337 "MachineIndependent/glslang.y"8569{8570parseContext.float16Check((yyvsp[0].lex).loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel());8571(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());8572(yyval.interm.type).basicType = EbtFloat16;8573(yyval.interm.type).setMatrix(2, 4);8574}8575#line 8577 "MachineIndependent/glslang_tab.cpp"8576break;85778578case 316: /* type_specifier_nonarray: F16MAT3X2 */8579#line 2343 "MachineIndependent/glslang.y"8580{8581parseContext.float16Check((yyvsp[0].lex).loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel());8582(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());8583(yyval.interm.type).basicType = EbtFloat16;8584(yyval.interm.type).setMatrix(3, 2);8585}8586#line 8588 "MachineIndependent/glslang_tab.cpp"8587break;85888589case 317: /* type_specifier_nonarray: F16MAT3X3 */8590#line 2349 "MachineIndependent/glslang.y"8591{8592parseContext.float16Check((yyvsp[0].lex).loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel());8593(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());8594(yyval.interm.type).basicType = EbtFloat16;8595(yyval.interm.type).setMatrix(3, 3);8596}8597#line 8599 "MachineIndependent/glslang_tab.cpp"8598break;85998600case 318: /* type_specifier_nonarray: F16MAT3X4 */8601#line 2355 "MachineIndependent/glslang.y"8602{8603parseContext.float16Check((yyvsp[0].lex).loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel());8604(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());8605(yyval.interm.type).basicType = EbtFloat16;8606(yyval.interm.type).setMatrix(3, 4);8607}8608#line 8610 "MachineIndependent/glslang_tab.cpp"8609break;86108611case 319: /* type_specifier_nonarray: F16MAT4X2 */8612#line 2361 "MachineIndependent/glslang.y"8613{8614parseContext.float16Check((yyvsp[0].lex).loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel());8615(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());8616(yyval.interm.type).basicType = EbtFloat16;8617(yyval.interm.type).setMatrix(4, 2);8618}8619#line 8621 "MachineIndependent/glslang_tab.cpp"8620break;86218622case 320: /* type_specifier_nonarray: F16MAT4X3 */8623#line 2367 "MachineIndependent/glslang.y"8624{8625parseContext.float16Check((yyvsp[0].lex).loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel());8626(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());8627(yyval.interm.type).basicType = EbtFloat16;8628(yyval.interm.type).setMatrix(4, 3);8629}8630#line 8632 "MachineIndependent/glslang_tab.cpp"8631break;86328633case 321: /* type_specifier_nonarray: F16MAT4X4 */8634#line 2373 "MachineIndependent/glslang.y"8635{8636parseContext.float16Check((yyvsp[0].lex).loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel());8637(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());8638(yyval.interm.type).basicType = EbtFloat16;8639(yyval.interm.type).setMatrix(4, 4);8640}8641#line 8643 "MachineIndependent/glslang_tab.cpp"8642break;86438644case 322: /* type_specifier_nonarray: F32MAT2 */8645#line 2379 "MachineIndependent/glslang.y"8646{8647parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());8648(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());8649(yyval.interm.type).basicType = EbtFloat;8650(yyval.interm.type).setMatrix(2, 2);8651}8652#line 8654 "MachineIndependent/glslang_tab.cpp"8653break;86548655case 323: /* type_specifier_nonarray: F32MAT3 */8656#line 2385 "MachineIndependent/glslang.y"8657{8658parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());8659(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());8660(yyval.interm.type).basicType = EbtFloat;8661(yyval.interm.type).setMatrix(3, 3);8662}8663#line 8665 "MachineIndependent/glslang_tab.cpp"8664break;86658666case 324: /* type_specifier_nonarray: F32MAT4 */8667#line 2391 "MachineIndependent/glslang.y"8668{8669parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());8670(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());8671(yyval.interm.type).basicType = EbtFloat;8672(yyval.interm.type).setMatrix(4, 4);8673}8674#line 8676 "MachineIndependent/glslang_tab.cpp"8675break;86768677case 325: /* type_specifier_nonarray: F32MAT2X2 */8678#line 2397 "MachineIndependent/glslang.y"8679{8680parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());8681(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());8682(yyval.interm.type).basicType = EbtFloat;8683(yyval.interm.type).setMatrix(2, 2);8684}8685#line 8687 "MachineIndependent/glslang_tab.cpp"8686break;86878688case 326: /* type_specifier_nonarray: F32MAT2X3 */8689#line 2403 "MachineIndependent/glslang.y"8690{8691parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());8692(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());8693(yyval.interm.type).basicType = EbtFloat;8694(yyval.interm.type).setMatrix(2, 3);8695}8696#line 8698 "MachineIndependent/glslang_tab.cpp"8697break;86988699case 327: /* type_specifier_nonarray: F32MAT2X4 */8700#line 2409 "MachineIndependent/glslang.y"8701{8702parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());8703(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());8704(yyval.interm.type).basicType = EbtFloat;8705(yyval.interm.type).setMatrix(2, 4);8706}8707#line 8709 "MachineIndependent/glslang_tab.cpp"8708break;87098710case 328: /* type_specifier_nonarray: F32MAT3X2 */8711#line 2415 "MachineIndependent/glslang.y"8712{8713parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());8714(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());8715(yyval.interm.type).basicType = EbtFloat;8716(yyval.interm.type).setMatrix(3, 2);8717}8718#line 8720 "MachineIndependent/glslang_tab.cpp"8719break;87208721case 329: /* type_specifier_nonarray: F32MAT3X3 */8722#line 2421 "MachineIndependent/glslang.y"8723{8724parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());8725(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());8726(yyval.interm.type).basicType = EbtFloat;8727(yyval.interm.type).setMatrix(3, 3);8728}8729#line 8731 "MachineIndependent/glslang_tab.cpp"8730break;87318732case 330: /* type_specifier_nonarray: F32MAT3X4 */8733#line 2427 "MachineIndependent/glslang.y"8734{8735parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());8736(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());8737(yyval.interm.type).basicType = EbtFloat;8738(yyval.interm.type).setMatrix(3, 4);8739}8740#line 8742 "MachineIndependent/glslang_tab.cpp"8741break;87428743case 331: /* type_specifier_nonarray: F32MAT4X2 */8744#line 2433 "MachineIndependent/glslang.y"8745{8746parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());8747(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());8748(yyval.interm.type).basicType = EbtFloat;8749(yyval.interm.type).setMatrix(4, 2);8750}8751#line 8753 "MachineIndependent/glslang_tab.cpp"8752break;87538754case 332: /* type_specifier_nonarray: F32MAT4X3 */8755#line 2439 "MachineIndependent/glslang.y"8756{8757parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());8758(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());8759(yyval.interm.type).basicType = EbtFloat;8760(yyval.interm.type).setMatrix(4, 3);8761}8762#line 8764 "MachineIndependent/glslang_tab.cpp"8763break;87648765case 333: /* type_specifier_nonarray: F32MAT4X4 */8766#line 2445 "MachineIndependent/glslang.y"8767{8768parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());8769(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());8770(yyval.interm.type).basicType = EbtFloat;8771(yyval.interm.type).setMatrix(4, 4);8772}8773#line 8775 "MachineIndependent/glslang_tab.cpp"8774break;87758776case 334: /* type_specifier_nonarray: F64MAT2 */8777#line 2451 "MachineIndependent/glslang.y"8778{8779parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel());8780(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());8781(yyval.interm.type).basicType = EbtDouble;8782(yyval.interm.type).setMatrix(2, 2);8783}8784#line 8786 "MachineIndependent/glslang_tab.cpp"8785break;87868787case 335: /* type_specifier_nonarray: F64MAT3 */8788#line 2457 "MachineIndependent/glslang.y"8789{8790parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel());8791(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());8792(yyval.interm.type).basicType = EbtDouble;8793(yyval.interm.type).setMatrix(3, 3);8794}8795#line 8797 "MachineIndependent/glslang_tab.cpp"8796break;87978798case 336: /* type_specifier_nonarray: F64MAT4 */8799#line 2463 "MachineIndependent/glslang.y"8800{8801parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel());8802(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());8803(yyval.interm.type).basicType = EbtDouble;8804(yyval.interm.type).setMatrix(4, 4);8805}8806#line 8808 "MachineIndependent/glslang_tab.cpp"8807break;88088809case 337: /* type_specifier_nonarray: F64MAT2X2 */8810#line 2469 "MachineIndependent/glslang.y"8811{8812parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel());8813(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());8814(yyval.interm.type).basicType = EbtDouble;8815(yyval.interm.type).setMatrix(2, 2);8816}8817#line 8819 "MachineIndependent/glslang_tab.cpp"8818break;88198820case 338: /* type_specifier_nonarray: F64MAT2X3 */8821#line 2475 "MachineIndependent/glslang.y"8822{8823parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel());8824(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());8825(yyval.interm.type).basicType = EbtDouble;8826(yyval.interm.type).setMatrix(2, 3);8827}8828#line 8830 "MachineIndependent/glslang_tab.cpp"8829break;88308831case 339: /* type_specifier_nonarray: F64MAT2X4 */8832#line 2481 "MachineIndependent/glslang.y"8833{8834parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel());8835(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());8836(yyval.interm.type).basicType = EbtDouble;8837(yyval.interm.type).setMatrix(2, 4);8838}8839#line 8841 "MachineIndependent/glslang_tab.cpp"8840break;88418842case 340: /* type_specifier_nonarray: F64MAT3X2 */8843#line 2487 "MachineIndependent/glslang.y"8844{8845parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel());8846(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());8847(yyval.interm.type).basicType = EbtDouble;8848(yyval.interm.type).setMatrix(3, 2);8849}8850#line 8852 "MachineIndependent/glslang_tab.cpp"8851break;88528853case 341: /* type_specifier_nonarray: F64MAT3X3 */8854#line 2493 "MachineIndependent/glslang.y"8855{8856parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel());8857(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());8858(yyval.interm.type).basicType = EbtDouble;8859(yyval.interm.type).setMatrix(3, 3);8860}8861#line 8863 "MachineIndependent/glslang_tab.cpp"8862break;88638864case 342: /* type_specifier_nonarray: F64MAT3X4 */8865#line 2499 "MachineIndependent/glslang.y"8866{8867parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel());8868(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());8869(yyval.interm.type).basicType = EbtDouble;8870(yyval.interm.type).setMatrix(3, 4);8871}8872#line 8874 "MachineIndependent/glslang_tab.cpp"8873break;88748875case 343: /* type_specifier_nonarray: F64MAT4X2 */8876#line 2505 "MachineIndependent/glslang.y"8877{8878parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel());8879(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());8880(yyval.interm.type).basicType = EbtDouble;8881(yyval.interm.type).setMatrix(4, 2);8882}8883#line 8885 "MachineIndependent/glslang_tab.cpp"8884break;88858886case 344: /* type_specifier_nonarray: F64MAT4X3 */8887#line 2511 "MachineIndependent/glslang.y"8888{8889parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel());8890(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());8891(yyval.interm.type).basicType = EbtDouble;8892(yyval.interm.type).setMatrix(4, 3);8893}8894#line 8896 "MachineIndependent/glslang_tab.cpp"8895break;88968897case 345: /* type_specifier_nonarray: F64MAT4X4 */8898#line 2517 "MachineIndependent/glslang.y"8899{8900parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel());8901(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());8902(yyval.interm.type).basicType = EbtDouble;8903(yyval.interm.type).setMatrix(4, 4);8904}8905#line 8907 "MachineIndependent/glslang_tab.cpp"8906break;89078908case 346: /* type_specifier_nonarray: ACCSTRUCTNV */8909#line 2523 "MachineIndependent/glslang.y"8910{8911(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());8912(yyval.interm.type).basicType = EbtAccStruct;8913}8914#line 8916 "MachineIndependent/glslang_tab.cpp"8915break;89168917case 347: /* type_specifier_nonarray: ACCSTRUCTEXT */8918#line 2527 "MachineIndependent/glslang.y"8919{8920(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());8921(yyval.interm.type).basicType = EbtAccStruct;8922}8923#line 8925 "MachineIndependent/glslang_tab.cpp"8924break;89258926case 348: /* type_specifier_nonarray: RAYQUERYEXT */8927#line 2531 "MachineIndependent/glslang.y"8928{8929(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());8930(yyval.interm.type).basicType = EbtRayQuery;8931}8932#line 8934 "MachineIndependent/glslang_tab.cpp"8933break;89348935case 349: /* type_specifier_nonarray: ATOMIC_UINT */8936#line 2535 "MachineIndependent/glslang.y"8937{8938parseContext.vulkanRemoved((yyvsp[0].lex).loc, "atomic counter types");8939(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());8940(yyval.interm.type).basicType = EbtAtomicUint;8941}8942#line 8944 "MachineIndependent/glslang_tab.cpp"8943break;89448945case 350: /* type_specifier_nonarray: SAMPLER1D */8946#line 2540 "MachineIndependent/glslang.y"8947{8948(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());8949(yyval.interm.type).basicType = EbtSampler;8950(yyval.interm.type).sampler.set(EbtFloat, Esd1D);8951}8952#line 8954 "MachineIndependent/glslang_tab.cpp"8953break;89548955case 351: /* type_specifier_nonarray: SAMPLER2D */8956#line 2545 "MachineIndependent/glslang.y"8957{8958(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());8959(yyval.interm.type).basicType = EbtSampler;8960(yyval.interm.type).sampler.set(EbtFloat, Esd2D);8961}8962#line 8964 "MachineIndependent/glslang_tab.cpp"8963break;89648965case 352: /* type_specifier_nonarray: SAMPLER3D */8966#line 2550 "MachineIndependent/glslang.y"8967{8968(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());8969(yyval.interm.type).basicType = EbtSampler;8970(yyval.interm.type).sampler.set(EbtFloat, Esd3D);8971}8972#line 8974 "MachineIndependent/glslang_tab.cpp"8973break;89748975case 353: /* type_specifier_nonarray: SAMPLERCUBE */8976#line 2555 "MachineIndependent/glslang.y"8977{8978(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());8979(yyval.interm.type).basicType = EbtSampler;8980(yyval.interm.type).sampler.set(EbtFloat, EsdCube);8981}8982#line 8984 "MachineIndependent/glslang_tab.cpp"8983break;89848985case 354: /* type_specifier_nonarray: SAMPLER2DSHADOW */8986#line 2560 "MachineIndependent/glslang.y"8987{8988(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());8989(yyval.interm.type).basicType = EbtSampler;8990(yyval.interm.type).sampler.set(EbtFloat, Esd2D, false, true);8991}8992#line 8994 "MachineIndependent/glslang_tab.cpp"8993break;89948995case 355: /* type_specifier_nonarray: SAMPLERCUBESHADOW */8996#line 2565 "MachineIndependent/glslang.y"8997{8998(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());8999(yyval.interm.type).basicType = EbtSampler;9000(yyval.interm.type).sampler.set(EbtFloat, EsdCube, false, true);9001}9002#line 9004 "MachineIndependent/glslang_tab.cpp"9003break;90049005case 356: /* type_specifier_nonarray: SAMPLER2DARRAY */9006#line 2570 "MachineIndependent/glslang.y"9007{9008(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());9009(yyval.interm.type).basicType = EbtSampler;9010(yyval.interm.type).sampler.set(EbtFloat, Esd2D, true);9011}9012#line 9014 "MachineIndependent/glslang_tab.cpp"9013break;90149015case 357: /* type_specifier_nonarray: SAMPLER2DARRAYSHADOW */9016#line 2575 "MachineIndependent/glslang.y"9017{9018(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());9019(yyval.interm.type).basicType = EbtSampler;9020(yyval.interm.type).sampler.set(EbtFloat, Esd2D, true, true);9021}9022#line 9024 "MachineIndependent/glslang_tab.cpp"9023break;90249025case 358: /* type_specifier_nonarray: SAMPLER1DSHADOW */9026#line 2580 "MachineIndependent/glslang.y"9027{9028(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());9029(yyval.interm.type).basicType = EbtSampler;9030(yyval.interm.type).sampler.set(EbtFloat, Esd1D, false, true);9031}9032#line 9034 "MachineIndependent/glslang_tab.cpp"9033break;90349035case 359: /* type_specifier_nonarray: SAMPLER1DARRAY */9036#line 2585 "MachineIndependent/glslang.y"9037{9038(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());9039(yyval.interm.type).basicType = EbtSampler;9040(yyval.interm.type).sampler.set(EbtFloat, Esd1D, true);9041}9042#line 9044 "MachineIndependent/glslang_tab.cpp"9043break;90449045case 360: /* type_specifier_nonarray: SAMPLER1DARRAYSHADOW */9046#line 2590 "MachineIndependent/glslang.y"9047{9048(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());9049(yyval.interm.type).basicType = EbtSampler;9050(yyval.interm.type).sampler.set(EbtFloat, Esd1D, true, true);9051}9052#line 9054 "MachineIndependent/glslang_tab.cpp"9053break;90549055case 361: /* type_specifier_nonarray: SAMPLERCUBEARRAY */9056#line 2595 "MachineIndependent/glslang.y"9057{9058(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());9059(yyval.interm.type).basicType = EbtSampler;9060(yyval.interm.type).sampler.set(EbtFloat, EsdCube, true);9061}9062#line 9064 "MachineIndependent/glslang_tab.cpp"9063break;90649065case 362: /* type_specifier_nonarray: SAMPLERCUBEARRAYSHADOW */9066#line 2600 "MachineIndependent/glslang.y"9067{9068(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());9069(yyval.interm.type).basicType = EbtSampler;9070(yyval.interm.type).sampler.set(EbtFloat, EsdCube, true, true);9071}9072#line 9074 "MachineIndependent/glslang_tab.cpp"9073break;90749075case 363: /* type_specifier_nonarray: F16SAMPLER1D */9076#line 2605 "MachineIndependent/glslang.y"9077{9078parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel());9079(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());9080(yyval.interm.type).basicType = EbtSampler;9081(yyval.interm.type).sampler.set(EbtFloat16, Esd1D);9082}9083#line 9085 "MachineIndependent/glslang_tab.cpp"9084break;90859086case 364: /* type_specifier_nonarray: F16SAMPLER2D */9087#line 2611 "MachineIndependent/glslang.y"9088{9089parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel());9090(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());9091(yyval.interm.type).basicType = EbtSampler;9092(yyval.interm.type).sampler.set(EbtFloat16, Esd2D);9093}9094#line 9096 "MachineIndependent/glslang_tab.cpp"9095break;90969097case 365: /* type_specifier_nonarray: F16SAMPLER3D */9098#line 2617 "MachineIndependent/glslang.y"9099{9100parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel());9101(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());9102(yyval.interm.type).basicType = EbtSampler;9103(yyval.interm.type).sampler.set(EbtFloat16, Esd3D);9104}9105#line 9107 "MachineIndependent/glslang_tab.cpp"9106break;91079108case 366: /* type_specifier_nonarray: F16SAMPLERCUBE */9109#line 2623 "MachineIndependent/glslang.y"9110{9111parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel());9112(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());9113(yyval.interm.type).basicType = EbtSampler;9114(yyval.interm.type).sampler.set(EbtFloat16, EsdCube);9115}9116#line 9118 "MachineIndependent/glslang_tab.cpp"9117break;91189119case 367: /* type_specifier_nonarray: F16SAMPLER1DSHADOW */9120#line 2629 "MachineIndependent/glslang.y"9121{9122parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel());9123(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());9124(yyval.interm.type).basicType = EbtSampler;9125(yyval.interm.type).sampler.set(EbtFloat16, Esd1D, false, true);9126}9127#line 9129 "MachineIndependent/glslang_tab.cpp"9128break;91299130case 368: /* type_specifier_nonarray: F16SAMPLER2DSHADOW */9131#line 2635 "MachineIndependent/glslang.y"9132{9133parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel());9134(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());9135(yyval.interm.type).basicType = EbtSampler;9136(yyval.interm.type).sampler.set(EbtFloat16, Esd2D, false, true);9137}9138#line 9140 "MachineIndependent/glslang_tab.cpp"9139break;91409141case 369: /* type_specifier_nonarray: F16SAMPLERCUBESHADOW */9142#line 2641 "MachineIndependent/glslang.y"9143{9144parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel());9145(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());9146(yyval.interm.type).basicType = EbtSampler;9147(yyval.interm.type).sampler.set(EbtFloat16, EsdCube, false, true);9148}9149#line 9151 "MachineIndependent/glslang_tab.cpp"9150break;91519152case 370: /* type_specifier_nonarray: F16SAMPLER1DARRAY */9153#line 2647 "MachineIndependent/glslang.y"9154{9155parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel());9156(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());9157(yyval.interm.type).basicType = EbtSampler;9158(yyval.interm.type).sampler.set(EbtFloat16, Esd1D, true);9159}9160#line 9162 "MachineIndependent/glslang_tab.cpp"9161break;91629163case 371: /* type_specifier_nonarray: F16SAMPLER2DARRAY */9164#line 2653 "MachineIndependent/glslang.y"9165{9166parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel());9167(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());9168(yyval.interm.type).basicType = EbtSampler;9169(yyval.interm.type).sampler.set(EbtFloat16, Esd2D, true);9170}9171#line 9173 "MachineIndependent/glslang_tab.cpp"9172break;91739174case 372: /* type_specifier_nonarray: F16SAMPLER1DARRAYSHADOW */9175#line 2659 "MachineIndependent/glslang.y"9176{9177parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel());9178(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());9179(yyval.interm.type).basicType = EbtSampler;9180(yyval.interm.type).sampler.set(EbtFloat16, Esd1D, true, true);9181}9182#line 9184 "MachineIndependent/glslang_tab.cpp"9183break;91849185case 373: /* type_specifier_nonarray: F16SAMPLER2DARRAYSHADOW */9186#line 2665 "MachineIndependent/glslang.y"9187{9188parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel());9189(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());9190(yyval.interm.type).basicType = EbtSampler;9191(yyval.interm.type).sampler.set(EbtFloat16, Esd2D, true, true);9192}9193#line 9195 "MachineIndependent/glslang_tab.cpp"9194break;91959196case 374: /* type_specifier_nonarray: F16SAMPLERCUBEARRAY */9197#line 2671 "MachineIndependent/glslang.y"9198{9199parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel());9200(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());9201(yyval.interm.type).basicType = EbtSampler;9202(yyval.interm.type).sampler.set(EbtFloat16, EsdCube, true);9203}9204#line 9206 "MachineIndependent/glslang_tab.cpp"9205break;92069207case 375: /* type_specifier_nonarray: F16SAMPLERCUBEARRAYSHADOW */9208#line 2677 "MachineIndependent/glslang.y"9209{9210parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel());9211(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());9212(yyval.interm.type).basicType = EbtSampler;9213(yyval.interm.type).sampler.set(EbtFloat16, EsdCube, true, true);9214}9215#line 9217 "MachineIndependent/glslang_tab.cpp"9216break;92179218case 376: /* type_specifier_nonarray: ISAMPLER1D */9219#line 2683 "MachineIndependent/glslang.y"9220{9221(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());9222(yyval.interm.type).basicType = EbtSampler;9223(yyval.interm.type).sampler.set(EbtInt, Esd1D);9224}9225#line 9227 "MachineIndependent/glslang_tab.cpp"9226break;92279228case 377: /* type_specifier_nonarray: ISAMPLER2D */9229#line 2688 "MachineIndependent/glslang.y"9230{9231(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());9232(yyval.interm.type).basicType = EbtSampler;9233(yyval.interm.type).sampler.set(EbtInt, Esd2D);9234}9235#line 9237 "MachineIndependent/glslang_tab.cpp"9236break;92379238case 378: /* type_specifier_nonarray: ISAMPLER3D */9239#line 2693 "MachineIndependent/glslang.y"9240{9241(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());9242(yyval.interm.type).basicType = EbtSampler;9243(yyval.interm.type).sampler.set(EbtInt, Esd3D);9244}9245#line 9247 "MachineIndependent/glslang_tab.cpp"9246break;92479248case 379: /* type_specifier_nonarray: ISAMPLERCUBE */9249#line 2698 "MachineIndependent/glslang.y"9250{9251(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());9252(yyval.interm.type).basicType = EbtSampler;9253(yyval.interm.type).sampler.set(EbtInt, EsdCube);9254}9255#line 9257 "MachineIndependent/glslang_tab.cpp"9256break;92579258case 380: /* type_specifier_nonarray: ISAMPLER2DARRAY */9259#line 2703 "MachineIndependent/glslang.y"9260{9261(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());9262(yyval.interm.type).basicType = EbtSampler;9263(yyval.interm.type).sampler.set(EbtInt, Esd2D, true);9264}9265#line 9267 "MachineIndependent/glslang_tab.cpp"9266break;92679268case 381: /* type_specifier_nonarray: USAMPLER2D */9269#line 2708 "MachineIndependent/glslang.y"9270{9271(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());9272(yyval.interm.type).basicType = EbtSampler;9273(yyval.interm.type).sampler.set(EbtUint, Esd2D);9274}9275#line 9277 "MachineIndependent/glslang_tab.cpp"9276break;92779278case 382: /* type_specifier_nonarray: USAMPLER3D */9279#line 2713 "MachineIndependent/glslang.y"9280{9281(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());9282(yyval.interm.type).basicType = EbtSampler;9283(yyval.interm.type).sampler.set(EbtUint, Esd3D);9284}9285#line 9287 "MachineIndependent/glslang_tab.cpp"9286break;92879288case 383: /* type_specifier_nonarray: USAMPLERCUBE */9289#line 2718 "MachineIndependent/glslang.y"9290{9291(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());9292(yyval.interm.type).basicType = EbtSampler;9293(yyval.interm.type).sampler.set(EbtUint, EsdCube);9294}9295#line 9297 "MachineIndependent/glslang_tab.cpp"9296break;92979298case 384: /* type_specifier_nonarray: ISAMPLER1DARRAY */9299#line 2723 "MachineIndependent/glslang.y"9300{9301(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());9302(yyval.interm.type).basicType = EbtSampler;9303(yyval.interm.type).sampler.set(EbtInt, Esd1D, true);9304}9305#line 9307 "MachineIndependent/glslang_tab.cpp"9306break;93079308case 385: /* type_specifier_nonarray: ISAMPLERCUBEARRAY */9309#line 2728 "MachineIndependent/glslang.y"9310{9311(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());9312(yyval.interm.type).basicType = EbtSampler;9313(yyval.interm.type).sampler.set(EbtInt, EsdCube, true);9314}9315#line 9317 "MachineIndependent/glslang_tab.cpp"9316break;93179318case 386: /* type_specifier_nonarray: USAMPLER1D */9319#line 2733 "MachineIndependent/glslang.y"9320{9321(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());9322(yyval.interm.type).basicType = EbtSampler;9323(yyval.interm.type).sampler.set(EbtUint, Esd1D);9324}9325#line 9327 "MachineIndependent/glslang_tab.cpp"9326break;93279328case 387: /* type_specifier_nonarray: USAMPLER1DARRAY */9329#line 2738 "MachineIndependent/glslang.y"9330{9331(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());9332(yyval.interm.type).basicType = EbtSampler;9333(yyval.interm.type).sampler.set(EbtUint, Esd1D, true);9334}9335#line 9337 "MachineIndependent/glslang_tab.cpp"9336break;93379338case 388: /* type_specifier_nonarray: USAMPLERCUBEARRAY */9339#line 2743 "MachineIndependent/glslang.y"9340{9341(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());9342(yyval.interm.type).basicType = EbtSampler;9343(yyval.interm.type).sampler.set(EbtUint, EsdCube, true);9344}9345#line 9347 "MachineIndependent/glslang_tab.cpp"9346break;93479348case 389: /* type_specifier_nonarray: TEXTURECUBEARRAY */9349#line 2748 "MachineIndependent/glslang.y"9350{9351(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());9352(yyval.interm.type).basicType = EbtSampler;9353(yyval.interm.type).sampler.setTexture(EbtFloat, EsdCube, true);9354}9355#line 9357 "MachineIndependent/glslang_tab.cpp"9356break;93579358case 390: /* type_specifier_nonarray: ITEXTURECUBEARRAY */9359#line 2753 "MachineIndependent/glslang.y"9360{9361(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());9362(yyval.interm.type).basicType = EbtSampler;9363(yyval.interm.type).sampler.setTexture(EbtInt, EsdCube, true);9364}9365#line 9367 "MachineIndependent/glslang_tab.cpp"9366break;93679368case 391: /* type_specifier_nonarray: UTEXTURECUBEARRAY */9369#line 2758 "MachineIndependent/glslang.y"9370{9371(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());9372(yyval.interm.type).basicType = EbtSampler;9373(yyval.interm.type).sampler.setTexture(EbtUint, EsdCube, true);9374}9375#line 9377 "MachineIndependent/glslang_tab.cpp"9376break;93779378case 392: /* type_specifier_nonarray: USAMPLER2DARRAY */9379#line 2763 "MachineIndependent/glslang.y"9380{9381(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());9382(yyval.interm.type).basicType = EbtSampler;9383(yyval.interm.type).sampler.set(EbtUint, Esd2D, true);9384}9385#line 9387 "MachineIndependent/glslang_tab.cpp"9386break;93879388case 393: /* type_specifier_nonarray: TEXTURE2D */9389#line 2768 "MachineIndependent/glslang.y"9390{9391(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());9392(yyval.interm.type).basicType = EbtSampler;9393(yyval.interm.type).sampler.setTexture(EbtFloat, Esd2D);9394}9395#line 9397 "MachineIndependent/glslang_tab.cpp"9396break;93979398case 394: /* type_specifier_nonarray: TEXTURE3D */9399#line 2773 "MachineIndependent/glslang.y"9400{9401(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());9402(yyval.interm.type).basicType = EbtSampler;9403(yyval.interm.type).sampler.setTexture(EbtFloat, Esd3D);9404}9405#line 9407 "MachineIndependent/glslang_tab.cpp"9406break;94079408case 395: /* type_specifier_nonarray: TEXTURE2DARRAY */9409#line 2778 "MachineIndependent/glslang.y"9410{9411(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());9412(yyval.interm.type).basicType = EbtSampler;9413(yyval.interm.type).sampler.setTexture(EbtFloat, Esd2D, true);9414}9415#line 9417 "MachineIndependent/glslang_tab.cpp"9416break;94179418case 396: /* type_specifier_nonarray: TEXTURECUBE */9419#line 2783 "MachineIndependent/glslang.y"9420{9421(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());9422(yyval.interm.type).basicType = EbtSampler;9423(yyval.interm.type).sampler.setTexture(EbtFloat, EsdCube);9424}9425#line 9427 "MachineIndependent/glslang_tab.cpp"9426break;94279428case 397: /* type_specifier_nonarray: ITEXTURE2D */9429#line 2788 "MachineIndependent/glslang.y"9430{9431(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());9432(yyval.interm.type).basicType = EbtSampler;9433(yyval.interm.type).sampler.setTexture(EbtInt, Esd2D);9434}9435#line 9437 "MachineIndependent/glslang_tab.cpp"9436break;94379438case 398: /* type_specifier_nonarray: ITEXTURE3D */9439#line 2793 "MachineIndependent/glslang.y"9440{9441(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());9442(yyval.interm.type).basicType = EbtSampler;9443(yyval.interm.type).sampler.setTexture(EbtInt, Esd3D);9444}9445#line 9447 "MachineIndependent/glslang_tab.cpp"9446break;94479448case 399: /* type_specifier_nonarray: ITEXTURECUBE */9449#line 2798 "MachineIndependent/glslang.y"9450{9451(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());9452(yyval.interm.type).basicType = EbtSampler;9453(yyval.interm.type).sampler.setTexture(EbtInt, EsdCube);9454}9455#line 9457 "MachineIndependent/glslang_tab.cpp"9456break;94579458case 400: /* type_specifier_nonarray: ITEXTURE2DARRAY */9459#line 2803 "MachineIndependent/glslang.y"9460{9461(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());9462(yyval.interm.type).basicType = EbtSampler;9463(yyval.interm.type).sampler.setTexture(EbtInt, Esd2D, true);9464}9465#line 9467 "MachineIndependent/glslang_tab.cpp"9466break;94679468case 401: /* type_specifier_nonarray: UTEXTURE2D */9469#line 2808 "MachineIndependent/glslang.y"9470{9471(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());9472(yyval.interm.type).basicType = EbtSampler;9473(yyval.interm.type).sampler.setTexture(EbtUint, Esd2D);9474}9475#line 9477 "MachineIndependent/glslang_tab.cpp"9476break;94779478case 402: /* type_specifier_nonarray: UTEXTURE3D */9479#line 2813 "MachineIndependent/glslang.y"9480{9481(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());9482(yyval.interm.type).basicType = EbtSampler;9483(yyval.interm.type).sampler.setTexture(EbtUint, Esd3D);9484}9485#line 9487 "MachineIndependent/glslang_tab.cpp"9486break;94879488case 403: /* type_specifier_nonarray: UTEXTURECUBE */9489#line 2818 "MachineIndependent/glslang.y"9490{9491(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());9492(yyval.interm.type).basicType = EbtSampler;9493(yyval.interm.type).sampler.setTexture(EbtUint, EsdCube);9494}9495#line 9497 "MachineIndependent/glslang_tab.cpp"9496break;94979498case 404: /* type_specifier_nonarray: UTEXTURE2DARRAY */9499#line 2823 "MachineIndependent/glslang.y"9500{9501(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());9502(yyval.interm.type).basicType = EbtSampler;9503(yyval.interm.type).sampler.setTexture(EbtUint, Esd2D, true);9504}9505#line 9507 "MachineIndependent/glslang_tab.cpp"9506break;95079508case 405: /* type_specifier_nonarray: SAMPLER */9509#line 2828 "MachineIndependent/glslang.y"9510{9511(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());9512(yyval.interm.type).basicType = EbtSampler;9513(yyval.interm.type).sampler.setPureSampler(false);9514}9515#line 9517 "MachineIndependent/glslang_tab.cpp"9516break;95179518case 406: /* type_specifier_nonarray: SAMPLERSHADOW */9519#line 2833 "MachineIndependent/glslang.y"9520{9521(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());9522(yyval.interm.type).basicType = EbtSampler;9523(yyval.interm.type).sampler.setPureSampler(true);9524}9525#line 9527 "MachineIndependent/glslang_tab.cpp"9526break;95279528case 407: /* type_specifier_nonarray: SAMPLER2DRECT */9529#line 2838 "MachineIndependent/glslang.y"9530{9531(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());9532(yyval.interm.type).basicType = EbtSampler;9533(yyval.interm.type).sampler.set(EbtFloat, EsdRect);9534}9535#line 9537 "MachineIndependent/glslang_tab.cpp"9536break;95379538case 408: /* type_specifier_nonarray: SAMPLER2DRECTSHADOW */9539#line 2843 "MachineIndependent/glslang.y"9540{9541(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());9542(yyval.interm.type).basicType = EbtSampler;9543(yyval.interm.type).sampler.set(EbtFloat, EsdRect, false, true);9544}9545#line 9547 "MachineIndependent/glslang_tab.cpp"9546break;95479548case 409: /* type_specifier_nonarray: F16SAMPLER2DRECT */9549#line 2848 "MachineIndependent/glslang.y"9550{9551parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel());9552(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());9553(yyval.interm.type).basicType = EbtSampler;9554(yyval.interm.type).sampler.set(EbtFloat16, EsdRect);9555}9556#line 9558 "MachineIndependent/glslang_tab.cpp"9557break;95589559case 410: /* type_specifier_nonarray: F16SAMPLER2DRECTSHADOW */9560#line 2854 "MachineIndependent/glslang.y"9561{9562parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel());9563(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());9564(yyval.interm.type).basicType = EbtSampler;9565(yyval.interm.type).sampler.set(EbtFloat16, EsdRect, false, true);9566}9567#line 9569 "MachineIndependent/glslang_tab.cpp"9568break;95699570case 411: /* type_specifier_nonarray: ISAMPLER2DRECT */9571#line 2860 "MachineIndependent/glslang.y"9572{9573(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());9574(yyval.interm.type).basicType = EbtSampler;9575(yyval.interm.type).sampler.set(EbtInt, EsdRect);9576}9577#line 9579 "MachineIndependent/glslang_tab.cpp"9578break;95799580case 412: /* type_specifier_nonarray: USAMPLER2DRECT */9581#line 2865 "MachineIndependent/glslang.y"9582{9583(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());9584(yyval.interm.type).basicType = EbtSampler;9585(yyval.interm.type).sampler.set(EbtUint, EsdRect);9586}9587#line 9589 "MachineIndependent/glslang_tab.cpp"9588break;95899590case 413: /* type_specifier_nonarray: SAMPLERBUFFER */9591#line 2870 "MachineIndependent/glslang.y"9592{9593(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());9594(yyval.interm.type).basicType = EbtSampler;9595(yyval.interm.type).sampler.set(EbtFloat, EsdBuffer);9596}9597#line 9599 "MachineIndependent/glslang_tab.cpp"9598break;95999600case 414: /* type_specifier_nonarray: F16SAMPLERBUFFER */9601#line 2875 "MachineIndependent/glslang.y"9602{9603parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel());9604(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());9605(yyval.interm.type).basicType = EbtSampler;9606(yyval.interm.type).sampler.set(EbtFloat16, EsdBuffer);9607}9608#line 9610 "MachineIndependent/glslang_tab.cpp"9609break;96109611case 415: /* type_specifier_nonarray: ISAMPLERBUFFER */9612#line 2881 "MachineIndependent/glslang.y"9613{9614(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());9615(yyval.interm.type).basicType = EbtSampler;9616(yyval.interm.type).sampler.set(EbtInt, EsdBuffer);9617}9618#line 9620 "MachineIndependent/glslang_tab.cpp"9619break;96209621case 416: /* type_specifier_nonarray: USAMPLERBUFFER */9622#line 2886 "MachineIndependent/glslang.y"9623{9624(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());9625(yyval.interm.type).basicType = EbtSampler;9626(yyval.interm.type).sampler.set(EbtUint, EsdBuffer);9627}9628#line 9630 "MachineIndependent/glslang_tab.cpp"9629break;96309631case 417: /* type_specifier_nonarray: SAMPLER2DMS */9632#line 2891 "MachineIndependent/glslang.y"9633{9634(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());9635(yyval.interm.type).basicType = EbtSampler;9636(yyval.interm.type).sampler.set(EbtFloat, Esd2D, false, false, true);9637}9638#line 9640 "MachineIndependent/glslang_tab.cpp"9639break;96409641case 418: /* type_specifier_nonarray: F16SAMPLER2DMS */9642#line 2896 "MachineIndependent/glslang.y"9643{9644parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel());9645(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());9646(yyval.interm.type).basicType = EbtSampler;9647(yyval.interm.type).sampler.set(EbtFloat16, Esd2D, false, false, true);9648}9649#line 9651 "MachineIndependent/glslang_tab.cpp"9650break;96519652case 419: /* type_specifier_nonarray: ISAMPLER2DMS */9653#line 2902 "MachineIndependent/glslang.y"9654{9655(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());9656(yyval.interm.type).basicType = EbtSampler;9657(yyval.interm.type).sampler.set(EbtInt, Esd2D, false, false, true);9658}9659#line 9661 "MachineIndependent/glslang_tab.cpp"9660break;96619662case 420: /* type_specifier_nonarray: USAMPLER2DMS */9663#line 2907 "MachineIndependent/glslang.y"9664{9665(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());9666(yyval.interm.type).basicType = EbtSampler;9667(yyval.interm.type).sampler.set(EbtUint, Esd2D, false, false, true);9668}9669#line 9671 "MachineIndependent/glslang_tab.cpp"9670break;96719672case 421: /* type_specifier_nonarray: SAMPLER2DMSARRAY */9673#line 2912 "MachineIndependent/glslang.y"9674{9675(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());9676(yyval.interm.type).basicType = EbtSampler;9677(yyval.interm.type).sampler.set(EbtFloat, Esd2D, true, false, true);9678}9679#line 9681 "MachineIndependent/glslang_tab.cpp"9680break;96819682case 422: /* type_specifier_nonarray: F16SAMPLER2DMSARRAY */9683#line 2917 "MachineIndependent/glslang.y"9684{9685parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel());9686(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());9687(yyval.interm.type).basicType = EbtSampler;9688(yyval.interm.type).sampler.set(EbtFloat16, Esd2D, true, false, true);9689}9690#line 9692 "MachineIndependent/glslang_tab.cpp"9691break;96929693case 423: /* type_specifier_nonarray: ISAMPLER2DMSARRAY */9694#line 2923 "MachineIndependent/glslang.y"9695{9696(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());9697(yyval.interm.type).basicType = EbtSampler;9698(yyval.interm.type).sampler.set(EbtInt, Esd2D, true, false, true);9699}9700#line 9702 "MachineIndependent/glslang_tab.cpp"9701break;97029703case 424: /* type_specifier_nonarray: USAMPLER2DMSARRAY */9704#line 2928 "MachineIndependent/glslang.y"9705{9706(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());9707(yyval.interm.type).basicType = EbtSampler;9708(yyval.interm.type).sampler.set(EbtUint, Esd2D, true, false, true);9709}9710#line 9712 "MachineIndependent/glslang_tab.cpp"9711break;97129713case 425: /* type_specifier_nonarray: TEXTURE1D */9714#line 2933 "MachineIndependent/glslang.y"9715{9716(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());9717(yyval.interm.type).basicType = EbtSampler;9718(yyval.interm.type).sampler.setTexture(EbtFloat, Esd1D);9719}9720#line 9722 "MachineIndependent/glslang_tab.cpp"9721break;97229723case 426: /* type_specifier_nonarray: F16TEXTURE1D */9724#line 2938 "MachineIndependent/glslang.y"9725{9726parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float texture", parseContext.symbolTable.atBuiltInLevel());9727(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());9728(yyval.interm.type).basicType = EbtSampler;9729(yyval.interm.type).sampler.setTexture(EbtFloat16, Esd1D);9730}9731#line 9733 "MachineIndependent/glslang_tab.cpp"9732break;97339734case 427: /* type_specifier_nonarray: F16TEXTURE2D */9735#line 2944 "MachineIndependent/glslang.y"9736{9737parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float texture", parseContext.symbolTable.atBuiltInLevel());9738(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());9739(yyval.interm.type).basicType = EbtSampler;9740(yyval.interm.type).sampler.setTexture(EbtFloat16, Esd2D);9741}9742#line 9744 "MachineIndependent/glslang_tab.cpp"9743break;97449745case 428: /* type_specifier_nonarray: F16TEXTURE3D */9746#line 2950 "MachineIndependent/glslang.y"9747{9748parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float texture", parseContext.symbolTable.atBuiltInLevel());9749(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());9750(yyval.interm.type).basicType = EbtSampler;9751(yyval.interm.type).sampler.setTexture(EbtFloat16, Esd3D);9752}9753#line 9755 "MachineIndependent/glslang_tab.cpp"9754break;97559756case 429: /* type_specifier_nonarray: F16TEXTURECUBE */9757#line 2956 "MachineIndependent/glslang.y"9758{9759parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float texture", parseContext.symbolTable.atBuiltInLevel());9760(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());9761(yyval.interm.type).basicType = EbtSampler;9762(yyval.interm.type).sampler.setTexture(EbtFloat16, EsdCube);9763}9764#line 9766 "MachineIndependent/glslang_tab.cpp"9765break;97669767case 430: /* type_specifier_nonarray: TEXTURE1DARRAY */9768#line 2962 "MachineIndependent/glslang.y"9769{9770(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());9771(yyval.interm.type).basicType = EbtSampler;9772(yyval.interm.type).sampler.setTexture(EbtFloat, Esd1D, true);9773}9774#line 9776 "MachineIndependent/glslang_tab.cpp"9775break;97769777case 431: /* type_specifier_nonarray: F16TEXTURE1DARRAY */9778#line 2967 "MachineIndependent/glslang.y"9779{9780parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float texture", parseContext.symbolTable.atBuiltInLevel());9781(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());9782(yyval.interm.type).basicType = EbtSampler;9783(yyval.interm.type).sampler.setTexture(EbtFloat16, Esd1D, true);9784}9785#line 9787 "MachineIndependent/glslang_tab.cpp"9786break;97879788case 432: /* type_specifier_nonarray: F16TEXTURE2DARRAY */9789#line 2973 "MachineIndependent/glslang.y"9790{9791parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float texture", parseContext.symbolTable.atBuiltInLevel());9792(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());9793(yyval.interm.type).basicType = EbtSampler;9794(yyval.interm.type).sampler.setTexture(EbtFloat16, Esd2D, true);9795}9796#line 9798 "MachineIndependent/glslang_tab.cpp"9797break;97989799case 433: /* type_specifier_nonarray: F16TEXTURECUBEARRAY */9800#line 2979 "MachineIndependent/glslang.y"9801{9802parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float texture", parseContext.symbolTable.atBuiltInLevel());9803(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());9804(yyval.interm.type).basicType = EbtSampler;9805(yyval.interm.type).sampler.setTexture(EbtFloat16, EsdCube, true);9806}9807#line 9809 "MachineIndependent/glslang_tab.cpp"9808break;98099810case 434: /* type_specifier_nonarray: ITEXTURE1D */9811#line 2985 "MachineIndependent/glslang.y"9812{9813(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());9814(yyval.interm.type).basicType = EbtSampler;9815(yyval.interm.type).sampler.setTexture(EbtInt, Esd1D);9816}9817#line 9819 "MachineIndependent/glslang_tab.cpp"9818break;98199820case 435: /* type_specifier_nonarray: ITEXTURE1DARRAY */9821#line 2990 "MachineIndependent/glslang.y"9822{9823(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());9824(yyval.interm.type).basicType = EbtSampler;9825(yyval.interm.type).sampler.setTexture(EbtInt, Esd1D, true);9826}9827#line 9829 "MachineIndependent/glslang_tab.cpp"9828break;98299830case 436: /* type_specifier_nonarray: UTEXTURE1D */9831#line 2995 "MachineIndependent/glslang.y"9832{9833(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());9834(yyval.interm.type).basicType = EbtSampler;9835(yyval.interm.type).sampler.setTexture(EbtUint, Esd1D);9836}9837#line 9839 "MachineIndependent/glslang_tab.cpp"9838break;98399840case 437: /* type_specifier_nonarray: UTEXTURE1DARRAY */9841#line 3000 "MachineIndependent/glslang.y"9842{9843(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());9844(yyval.interm.type).basicType = EbtSampler;9845(yyval.interm.type).sampler.setTexture(EbtUint, Esd1D, true);9846}9847#line 9849 "MachineIndependent/glslang_tab.cpp"9848break;98499850case 438: /* type_specifier_nonarray: TEXTURE2DRECT */9851#line 3005 "MachineIndependent/glslang.y"9852{9853(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());9854(yyval.interm.type).basicType = EbtSampler;9855(yyval.interm.type).sampler.setTexture(EbtFloat, EsdRect);9856}9857#line 9859 "MachineIndependent/glslang_tab.cpp"9858break;98599860case 439: /* type_specifier_nonarray: F16TEXTURE2DRECT */9861#line 3010 "MachineIndependent/glslang.y"9862{9863parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float texture", parseContext.symbolTable.atBuiltInLevel());9864(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());9865(yyval.interm.type).basicType = EbtSampler;9866(yyval.interm.type).sampler.setTexture(EbtFloat16, EsdRect);9867}9868#line 9870 "MachineIndependent/glslang_tab.cpp"9869break;98709871case 440: /* type_specifier_nonarray: ITEXTURE2DRECT */9872#line 3016 "MachineIndependent/glslang.y"9873{9874(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());9875(yyval.interm.type).basicType = EbtSampler;9876(yyval.interm.type).sampler.setTexture(EbtInt, EsdRect);9877}9878#line 9880 "MachineIndependent/glslang_tab.cpp"9879break;98809881case 441: /* type_specifier_nonarray: UTEXTURE2DRECT */9882#line 3021 "MachineIndependent/glslang.y"9883{9884(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());9885(yyval.interm.type).basicType = EbtSampler;9886(yyval.interm.type).sampler.setTexture(EbtUint, EsdRect);9887}9888#line 9890 "MachineIndependent/glslang_tab.cpp"9889break;98909891case 442: /* type_specifier_nonarray: TEXTUREBUFFER */9892#line 3026 "MachineIndependent/glslang.y"9893{9894(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());9895(yyval.interm.type).basicType = EbtSampler;9896(yyval.interm.type).sampler.setTexture(EbtFloat, EsdBuffer);9897}9898#line 9900 "MachineIndependent/glslang_tab.cpp"9899break;99009901case 443: /* type_specifier_nonarray: F16TEXTUREBUFFER */9902#line 3031 "MachineIndependent/glslang.y"9903{9904parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float texture", parseContext.symbolTable.atBuiltInLevel());9905(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());9906(yyval.interm.type).basicType = EbtSampler;9907(yyval.interm.type).sampler.setTexture(EbtFloat16, EsdBuffer);9908}9909#line 9911 "MachineIndependent/glslang_tab.cpp"9910break;99119912case 444: /* type_specifier_nonarray: ITEXTUREBUFFER */9913#line 3037 "MachineIndependent/glslang.y"9914{9915(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());9916(yyval.interm.type).basicType = EbtSampler;9917(yyval.interm.type).sampler.setTexture(EbtInt, EsdBuffer);9918}9919#line 9921 "MachineIndependent/glslang_tab.cpp"9920break;99219922case 445: /* type_specifier_nonarray: UTEXTUREBUFFER */9923#line 3042 "MachineIndependent/glslang.y"9924{9925(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());9926(yyval.interm.type).basicType = EbtSampler;9927(yyval.interm.type).sampler.setTexture(EbtUint, EsdBuffer);9928}9929#line 9931 "MachineIndependent/glslang_tab.cpp"9930break;99319932case 446: /* type_specifier_nonarray: TEXTURE2DMS */9933#line 3047 "MachineIndependent/glslang.y"9934{9935(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());9936(yyval.interm.type).basicType = EbtSampler;9937(yyval.interm.type).sampler.setTexture(EbtFloat, Esd2D, false, false, true);9938}9939#line 9941 "MachineIndependent/glslang_tab.cpp"9940break;99419942case 447: /* type_specifier_nonarray: F16TEXTURE2DMS */9943#line 3052 "MachineIndependent/glslang.y"9944{9945parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float texture", parseContext.symbolTable.atBuiltInLevel());9946(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());9947(yyval.interm.type).basicType = EbtSampler;9948(yyval.interm.type).sampler.setTexture(EbtFloat16, Esd2D, false, false, true);9949}9950#line 9952 "MachineIndependent/glslang_tab.cpp"9951break;99529953case 448: /* type_specifier_nonarray: ITEXTURE2DMS */9954#line 3058 "MachineIndependent/glslang.y"9955{9956(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());9957(yyval.interm.type).basicType = EbtSampler;9958(yyval.interm.type).sampler.setTexture(EbtInt, Esd2D, false, false, true);9959}9960#line 9962 "MachineIndependent/glslang_tab.cpp"9961break;99629963case 449: /* type_specifier_nonarray: UTEXTURE2DMS */9964#line 3063 "MachineIndependent/glslang.y"9965{9966(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());9967(yyval.interm.type).basicType = EbtSampler;9968(yyval.interm.type).sampler.setTexture(EbtUint, Esd2D, false, false, true);9969}9970#line 9972 "MachineIndependent/glslang_tab.cpp"9971break;99729973case 450: /* type_specifier_nonarray: TEXTURE2DMSARRAY */9974#line 3068 "MachineIndependent/glslang.y"9975{9976(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());9977(yyval.interm.type).basicType = EbtSampler;9978(yyval.interm.type).sampler.setTexture(EbtFloat, Esd2D, true, false, true);9979}9980#line 9982 "MachineIndependent/glslang_tab.cpp"9981break;99829983case 451: /* type_specifier_nonarray: F16TEXTURE2DMSARRAY */9984#line 3073 "MachineIndependent/glslang.y"9985{9986parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float texture", parseContext.symbolTable.atBuiltInLevel());9987(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());9988(yyval.interm.type).basicType = EbtSampler;9989(yyval.interm.type).sampler.setTexture(EbtFloat16, Esd2D, true, false, true);9990}9991#line 9993 "MachineIndependent/glslang_tab.cpp"9992break;99939994case 452: /* type_specifier_nonarray: ITEXTURE2DMSARRAY */9995#line 3079 "MachineIndependent/glslang.y"9996{9997(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());9998(yyval.interm.type).basicType = EbtSampler;9999(yyval.interm.type).sampler.setTexture(EbtInt, Esd2D, true, false, true);10000}10001#line 10003 "MachineIndependent/glslang_tab.cpp"10002break;1000310004case 453: /* type_specifier_nonarray: UTEXTURE2DMSARRAY */10005#line 3084 "MachineIndependent/glslang.y"10006{10007(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());10008(yyval.interm.type).basicType = EbtSampler;10009(yyval.interm.type).sampler.setTexture(EbtUint, Esd2D, true, false, true);10010}10011#line 10013 "MachineIndependent/glslang_tab.cpp"10012break;1001310014case 454: /* type_specifier_nonarray: IMAGE1D */10015#line 3089 "MachineIndependent/glslang.y"10016{10017(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());10018(yyval.interm.type).basicType = EbtSampler;10019(yyval.interm.type).sampler.setImage(EbtFloat, Esd1D);10020}10021#line 10023 "MachineIndependent/glslang_tab.cpp"10022break;1002310024case 455: /* type_specifier_nonarray: F16IMAGE1D */10025#line 3094 "MachineIndependent/glslang.y"10026{10027parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float image", parseContext.symbolTable.atBuiltInLevel());10028(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());10029(yyval.interm.type).basicType = EbtSampler;10030(yyval.interm.type).sampler.setImage(EbtFloat16, Esd1D);10031}10032#line 10034 "MachineIndependent/glslang_tab.cpp"10033break;1003410035case 456: /* type_specifier_nonarray: IIMAGE1D */10036#line 3100 "MachineIndependent/glslang.y"10037{10038(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());10039(yyval.interm.type).basicType = EbtSampler;10040(yyval.interm.type).sampler.setImage(EbtInt, Esd1D);10041}10042#line 10044 "MachineIndependent/glslang_tab.cpp"10043break;1004410045case 457: /* type_specifier_nonarray: UIMAGE1D */10046#line 3105 "MachineIndependent/glslang.y"10047{10048(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());10049(yyval.interm.type).basicType = EbtSampler;10050(yyval.interm.type).sampler.setImage(EbtUint, Esd1D);10051}10052#line 10054 "MachineIndependent/glslang_tab.cpp"10053break;1005410055case 458: /* type_specifier_nonarray: IMAGE2D */10056#line 3110 "MachineIndependent/glslang.y"10057{10058(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());10059(yyval.interm.type).basicType = EbtSampler;10060(yyval.interm.type).sampler.setImage(EbtFloat, Esd2D);10061}10062#line 10064 "MachineIndependent/glslang_tab.cpp"10063break;1006410065case 459: /* type_specifier_nonarray: F16IMAGE2D */10066#line 3115 "MachineIndependent/glslang.y"10067{10068parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float image", parseContext.symbolTable.atBuiltInLevel());10069(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());10070(yyval.interm.type).basicType = EbtSampler;10071(yyval.interm.type).sampler.setImage(EbtFloat16, Esd2D);10072}10073#line 10075 "MachineIndependent/glslang_tab.cpp"10074break;1007510076case 460: /* type_specifier_nonarray: IIMAGE2D */10077#line 3121 "MachineIndependent/glslang.y"10078{10079(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());10080(yyval.interm.type).basicType = EbtSampler;10081(yyval.interm.type).sampler.setImage(EbtInt, Esd2D);10082}10083#line 10085 "MachineIndependent/glslang_tab.cpp"10084break;1008510086case 461: /* type_specifier_nonarray: UIMAGE2D */10087#line 3126 "MachineIndependent/glslang.y"10088{10089(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());10090(yyval.interm.type).basicType = EbtSampler;10091(yyval.interm.type).sampler.setImage(EbtUint, Esd2D);10092}10093#line 10095 "MachineIndependent/glslang_tab.cpp"10094break;1009510096case 462: /* type_specifier_nonarray: IMAGE3D */10097#line 3131 "MachineIndependent/glslang.y"10098{10099(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());10100(yyval.interm.type).basicType = EbtSampler;10101(yyval.interm.type).sampler.setImage(EbtFloat, Esd3D);10102}10103#line 10105 "MachineIndependent/glslang_tab.cpp"10104break;1010510106case 463: /* type_specifier_nonarray: F16IMAGE3D */10107#line 3136 "MachineIndependent/glslang.y"10108{10109parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float image", parseContext.symbolTable.atBuiltInLevel());10110(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());10111(yyval.interm.type).basicType = EbtSampler;10112(yyval.interm.type).sampler.setImage(EbtFloat16, Esd3D);10113}10114#line 10116 "MachineIndependent/glslang_tab.cpp"10115break;1011610117case 464: /* type_specifier_nonarray: IIMAGE3D */10118#line 3142 "MachineIndependent/glslang.y"10119{10120(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());10121(yyval.interm.type).basicType = EbtSampler;10122(yyval.interm.type).sampler.setImage(EbtInt, Esd3D);10123}10124#line 10126 "MachineIndependent/glslang_tab.cpp"10125break;1012610127case 465: /* type_specifier_nonarray: UIMAGE3D */10128#line 3147 "MachineIndependent/glslang.y"10129{10130(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());10131(yyval.interm.type).basicType = EbtSampler;10132(yyval.interm.type).sampler.setImage(EbtUint, Esd3D);10133}10134#line 10136 "MachineIndependent/glslang_tab.cpp"10135break;1013610137case 466: /* type_specifier_nonarray: IMAGE2DRECT */10138#line 3152 "MachineIndependent/glslang.y"10139{10140(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());10141(yyval.interm.type).basicType = EbtSampler;10142(yyval.interm.type).sampler.setImage(EbtFloat, EsdRect);10143}10144#line 10146 "MachineIndependent/glslang_tab.cpp"10145break;1014610147case 467: /* type_specifier_nonarray: F16IMAGE2DRECT */10148#line 3157 "MachineIndependent/glslang.y"10149{10150parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float image", parseContext.symbolTable.atBuiltInLevel());10151(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());10152(yyval.interm.type).basicType = EbtSampler;10153(yyval.interm.type).sampler.setImage(EbtFloat16, EsdRect);10154}10155#line 10157 "MachineIndependent/glslang_tab.cpp"10156break;1015710158case 468: /* type_specifier_nonarray: IIMAGE2DRECT */10159#line 3163 "MachineIndependent/glslang.y"10160{10161(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());10162(yyval.interm.type).basicType = EbtSampler;10163(yyval.interm.type).sampler.setImage(EbtInt, EsdRect);10164}10165#line 10167 "MachineIndependent/glslang_tab.cpp"10166break;1016710168case 469: /* type_specifier_nonarray: UIMAGE2DRECT */10169#line 3168 "MachineIndependent/glslang.y"10170{10171(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());10172(yyval.interm.type).basicType = EbtSampler;10173(yyval.interm.type).sampler.setImage(EbtUint, EsdRect);10174}10175#line 10177 "MachineIndependent/glslang_tab.cpp"10176break;1017710178case 470: /* type_specifier_nonarray: IMAGECUBE */10179#line 3173 "MachineIndependent/glslang.y"10180{10181(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());10182(yyval.interm.type).basicType = EbtSampler;10183(yyval.interm.type).sampler.setImage(EbtFloat, EsdCube);10184}10185#line 10187 "MachineIndependent/glslang_tab.cpp"10186break;1018710188case 471: /* type_specifier_nonarray: F16IMAGECUBE */10189#line 3178 "MachineIndependent/glslang.y"10190{10191parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float image", parseContext.symbolTable.atBuiltInLevel());10192(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());10193(yyval.interm.type).basicType = EbtSampler;10194(yyval.interm.type).sampler.setImage(EbtFloat16, EsdCube);10195}10196#line 10198 "MachineIndependent/glslang_tab.cpp"10197break;1019810199case 472: /* type_specifier_nonarray: IIMAGECUBE */10200#line 3184 "MachineIndependent/glslang.y"10201{10202(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());10203(yyval.interm.type).basicType = EbtSampler;10204(yyval.interm.type).sampler.setImage(EbtInt, EsdCube);10205}10206#line 10208 "MachineIndependent/glslang_tab.cpp"10207break;1020810209case 473: /* type_specifier_nonarray: UIMAGECUBE */10210#line 3189 "MachineIndependent/glslang.y"10211{10212(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());10213(yyval.interm.type).basicType = EbtSampler;10214(yyval.interm.type).sampler.setImage(EbtUint, EsdCube);10215}10216#line 10218 "MachineIndependent/glslang_tab.cpp"10217break;1021810219case 474: /* type_specifier_nonarray: IMAGEBUFFER */10220#line 3194 "MachineIndependent/glslang.y"10221{10222(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());10223(yyval.interm.type).basicType = EbtSampler;10224(yyval.interm.type).sampler.setImage(EbtFloat, EsdBuffer);10225}10226#line 10228 "MachineIndependent/glslang_tab.cpp"10227break;1022810229case 475: /* type_specifier_nonarray: F16IMAGEBUFFER */10230#line 3199 "MachineIndependent/glslang.y"10231{10232parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float image", parseContext.symbolTable.atBuiltInLevel());10233(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());10234(yyval.interm.type).basicType = EbtSampler;10235(yyval.interm.type).sampler.setImage(EbtFloat16, EsdBuffer);10236}10237#line 10239 "MachineIndependent/glslang_tab.cpp"10238break;1023910240case 476: /* type_specifier_nonarray: IIMAGEBUFFER */10241#line 3205 "MachineIndependent/glslang.y"10242{10243(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());10244(yyval.interm.type).basicType = EbtSampler;10245(yyval.interm.type).sampler.setImage(EbtInt, EsdBuffer);10246}10247#line 10249 "MachineIndependent/glslang_tab.cpp"10248break;1024910250case 477: /* type_specifier_nonarray: UIMAGEBUFFER */10251#line 3210 "MachineIndependent/glslang.y"10252{10253(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());10254(yyval.interm.type).basicType = EbtSampler;10255(yyval.interm.type).sampler.setImage(EbtUint, EsdBuffer);10256}10257#line 10259 "MachineIndependent/glslang_tab.cpp"10258break;1025910260case 478: /* type_specifier_nonarray: IMAGE1DARRAY */10261#line 3215 "MachineIndependent/glslang.y"10262{10263(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());10264(yyval.interm.type).basicType = EbtSampler;10265(yyval.interm.type).sampler.setImage(EbtFloat, Esd1D, true);10266}10267#line 10269 "MachineIndependent/glslang_tab.cpp"10268break;1026910270case 479: /* type_specifier_nonarray: F16IMAGE1DARRAY */10271#line 3220 "MachineIndependent/glslang.y"10272{10273parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float image", parseContext.symbolTable.atBuiltInLevel());10274(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());10275(yyval.interm.type).basicType = EbtSampler;10276(yyval.interm.type).sampler.setImage(EbtFloat16, Esd1D, true);10277}10278#line 10280 "MachineIndependent/glslang_tab.cpp"10279break;1028010281case 480: /* type_specifier_nonarray: IIMAGE1DARRAY */10282#line 3226 "MachineIndependent/glslang.y"10283{10284(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());10285(yyval.interm.type).basicType = EbtSampler;10286(yyval.interm.type).sampler.setImage(EbtInt, Esd1D, true);10287}10288#line 10290 "MachineIndependent/glslang_tab.cpp"10289break;1029010291case 481: /* type_specifier_nonarray: UIMAGE1DARRAY */10292#line 3231 "MachineIndependent/glslang.y"10293{10294(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());10295(yyval.interm.type).basicType = EbtSampler;10296(yyval.interm.type).sampler.setImage(EbtUint, Esd1D, true);10297}10298#line 10300 "MachineIndependent/glslang_tab.cpp"10299break;1030010301case 482: /* type_specifier_nonarray: IMAGE2DARRAY */10302#line 3236 "MachineIndependent/glslang.y"10303{10304(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());10305(yyval.interm.type).basicType = EbtSampler;10306(yyval.interm.type).sampler.setImage(EbtFloat, Esd2D, true);10307}10308#line 10310 "MachineIndependent/glslang_tab.cpp"10309break;1031010311case 483: /* type_specifier_nonarray: F16IMAGE2DARRAY */10312#line 3241 "MachineIndependent/glslang.y"10313{10314parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float image", parseContext.symbolTable.atBuiltInLevel());10315(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());10316(yyval.interm.type).basicType = EbtSampler;10317(yyval.interm.type).sampler.setImage(EbtFloat16, Esd2D, true);10318}10319#line 10321 "MachineIndependent/glslang_tab.cpp"10320break;1032110322case 484: /* type_specifier_nonarray: IIMAGE2DARRAY */10323#line 3247 "MachineIndependent/glslang.y"10324{10325(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());10326(yyval.interm.type).basicType = EbtSampler;10327(yyval.interm.type).sampler.setImage(EbtInt, Esd2D, true);10328}10329#line 10331 "MachineIndependent/glslang_tab.cpp"10330break;1033110332case 485: /* type_specifier_nonarray: UIMAGE2DARRAY */10333#line 3252 "MachineIndependent/glslang.y"10334{10335(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());10336(yyval.interm.type).basicType = EbtSampler;10337(yyval.interm.type).sampler.setImage(EbtUint, Esd2D, true);10338}10339#line 10341 "MachineIndependent/glslang_tab.cpp"10340break;1034110342case 486: /* type_specifier_nonarray: IMAGECUBEARRAY */10343#line 3257 "MachineIndependent/glslang.y"10344{10345(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());10346(yyval.interm.type).basicType = EbtSampler;10347(yyval.interm.type).sampler.setImage(EbtFloat, EsdCube, true);10348}10349#line 10351 "MachineIndependent/glslang_tab.cpp"10350break;1035110352case 487: /* type_specifier_nonarray: F16IMAGECUBEARRAY */10353#line 3262 "MachineIndependent/glslang.y"10354{10355parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float image", parseContext.symbolTable.atBuiltInLevel());10356(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());10357(yyval.interm.type).basicType = EbtSampler;10358(yyval.interm.type).sampler.setImage(EbtFloat16, EsdCube, true);10359}10360#line 10362 "MachineIndependent/glslang_tab.cpp"10361break;1036210363case 488: /* type_specifier_nonarray: IIMAGECUBEARRAY */10364#line 3268 "MachineIndependent/glslang.y"10365{10366(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());10367(yyval.interm.type).basicType = EbtSampler;10368(yyval.interm.type).sampler.setImage(EbtInt, EsdCube, true);10369}10370#line 10372 "MachineIndependent/glslang_tab.cpp"10371break;1037210373case 489: /* type_specifier_nonarray: UIMAGECUBEARRAY */10374#line 3273 "MachineIndependent/glslang.y"10375{10376(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());10377(yyval.interm.type).basicType = EbtSampler;10378(yyval.interm.type).sampler.setImage(EbtUint, EsdCube, true);10379}10380#line 10382 "MachineIndependent/glslang_tab.cpp"10381break;1038210383case 490: /* type_specifier_nonarray: IMAGE2DMS */10384#line 3278 "MachineIndependent/glslang.y"10385{10386(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());10387(yyval.interm.type).basicType = EbtSampler;10388(yyval.interm.type).sampler.setImage(EbtFloat, Esd2D, false, false, true);10389}10390#line 10392 "MachineIndependent/glslang_tab.cpp"10391break;1039210393case 491: /* type_specifier_nonarray: F16IMAGE2DMS */10394#line 3283 "MachineIndependent/glslang.y"10395{10396parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float image", parseContext.symbolTable.atBuiltInLevel());10397(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());10398(yyval.interm.type).basicType = EbtSampler;10399(yyval.interm.type).sampler.setImage(EbtFloat16, Esd2D, false, false, true);10400}10401#line 10403 "MachineIndependent/glslang_tab.cpp"10402break;1040310404case 492: /* type_specifier_nonarray: IIMAGE2DMS */10405#line 3289 "MachineIndependent/glslang.y"10406{10407(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());10408(yyval.interm.type).basicType = EbtSampler;10409(yyval.interm.type).sampler.setImage(EbtInt, Esd2D, false, false, true);10410}10411#line 10413 "MachineIndependent/glslang_tab.cpp"10412break;1041310414case 493: /* type_specifier_nonarray: UIMAGE2DMS */10415#line 3294 "MachineIndependent/glslang.y"10416{10417(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());10418(yyval.interm.type).basicType = EbtSampler;10419(yyval.interm.type).sampler.setImage(EbtUint, Esd2D, false, false, true);10420}10421#line 10423 "MachineIndependent/glslang_tab.cpp"10422break;1042310424case 494: /* type_specifier_nonarray: IMAGE2DMSARRAY */10425#line 3299 "MachineIndependent/glslang.y"10426{10427(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());10428(yyval.interm.type).basicType = EbtSampler;10429(yyval.interm.type).sampler.setImage(EbtFloat, Esd2D, true, false, true);10430}10431#line 10433 "MachineIndependent/glslang_tab.cpp"10432break;1043310434case 495: /* type_specifier_nonarray: F16IMAGE2DMSARRAY */10435#line 3304 "MachineIndependent/glslang.y"10436{10437parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float image", parseContext.symbolTable.atBuiltInLevel());10438(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());10439(yyval.interm.type).basicType = EbtSampler;10440(yyval.interm.type).sampler.setImage(EbtFloat16, Esd2D, true, false, true);10441}10442#line 10444 "MachineIndependent/glslang_tab.cpp"10443break;1044410445case 496: /* type_specifier_nonarray: IIMAGE2DMSARRAY */10446#line 3310 "MachineIndependent/glslang.y"10447{10448(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());10449(yyval.interm.type).basicType = EbtSampler;10450(yyval.interm.type).sampler.setImage(EbtInt, Esd2D, true, false, true);10451}10452#line 10454 "MachineIndependent/glslang_tab.cpp"10453break;1045410455case 497: /* type_specifier_nonarray: UIMAGE2DMSARRAY */10456#line 3315 "MachineIndependent/glslang.y"10457{10458(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());10459(yyval.interm.type).basicType = EbtSampler;10460(yyval.interm.type).sampler.setImage(EbtUint, Esd2D, true, false, true);10461}10462#line 10464 "MachineIndependent/glslang_tab.cpp"10463break;1046410465case 498: /* type_specifier_nonarray: I64IMAGE1D */10466#line 3320 "MachineIndependent/glslang.y"10467{10468(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());10469(yyval.interm.type).basicType = EbtSampler;10470(yyval.interm.type).sampler.setImage(EbtInt64, Esd1D);10471}10472#line 10474 "MachineIndependent/glslang_tab.cpp"10473break;1047410475case 499: /* type_specifier_nonarray: U64IMAGE1D */10476#line 3325 "MachineIndependent/glslang.y"10477{10478(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());10479(yyval.interm.type).basicType = EbtSampler;10480(yyval.interm.type).sampler.setImage(EbtUint64, Esd1D);10481}10482#line 10484 "MachineIndependent/glslang_tab.cpp"10483break;1048410485case 500: /* type_specifier_nonarray: I64IMAGE2D */10486#line 3330 "MachineIndependent/glslang.y"10487{10488(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());10489(yyval.interm.type).basicType = EbtSampler;10490(yyval.interm.type).sampler.setImage(EbtInt64, Esd2D);10491}10492#line 10494 "MachineIndependent/glslang_tab.cpp"10493break;1049410495case 501: /* type_specifier_nonarray: U64IMAGE2D */10496#line 3335 "MachineIndependent/glslang.y"10497{10498(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());10499(yyval.interm.type).basicType = EbtSampler;10500(yyval.interm.type).sampler.setImage(EbtUint64, Esd2D);10501}10502#line 10504 "MachineIndependent/glslang_tab.cpp"10503break;1050410505case 502: /* type_specifier_nonarray: I64IMAGE3D */10506#line 3340 "MachineIndependent/glslang.y"10507{10508(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());10509(yyval.interm.type).basicType = EbtSampler;10510(yyval.interm.type).sampler.setImage(EbtInt64, Esd3D);10511}10512#line 10514 "MachineIndependent/glslang_tab.cpp"10513break;1051410515case 503: /* type_specifier_nonarray: U64IMAGE3D */10516#line 3345 "MachineIndependent/glslang.y"10517{10518(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());10519(yyval.interm.type).basicType = EbtSampler;10520(yyval.interm.type).sampler.setImage(EbtUint64, Esd3D);10521}10522#line 10524 "MachineIndependent/glslang_tab.cpp"10523break;1052410525case 504: /* type_specifier_nonarray: I64IMAGE2DRECT */10526#line 3350 "MachineIndependent/glslang.y"10527{10528(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());10529(yyval.interm.type).basicType = EbtSampler;10530(yyval.interm.type).sampler.setImage(EbtInt64, EsdRect);10531}10532#line 10534 "MachineIndependent/glslang_tab.cpp"10533break;1053410535case 505: /* type_specifier_nonarray: U64IMAGE2DRECT */10536#line 3355 "MachineIndependent/glslang.y"10537{10538(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());10539(yyval.interm.type).basicType = EbtSampler;10540(yyval.interm.type).sampler.setImage(EbtUint64, EsdRect);10541}10542#line 10544 "MachineIndependent/glslang_tab.cpp"10543break;1054410545case 506: /* type_specifier_nonarray: I64IMAGECUBE */10546#line 3360 "MachineIndependent/glslang.y"10547{10548(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());10549(yyval.interm.type).basicType = EbtSampler;10550(yyval.interm.type).sampler.setImage(EbtInt64, EsdCube);10551}10552#line 10554 "MachineIndependent/glslang_tab.cpp"10553break;1055410555case 507: /* type_specifier_nonarray: U64IMAGECUBE */10556#line 3365 "MachineIndependent/glslang.y"10557{10558(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());10559(yyval.interm.type).basicType = EbtSampler;10560(yyval.interm.type).sampler.setImage(EbtUint64, EsdCube);10561}10562#line 10564 "MachineIndependent/glslang_tab.cpp"10563break;1056410565case 508: /* type_specifier_nonarray: I64IMAGEBUFFER */10566#line 3370 "MachineIndependent/glslang.y"10567{10568(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());10569(yyval.interm.type).basicType = EbtSampler;10570(yyval.interm.type).sampler.setImage(EbtInt64, EsdBuffer);10571}10572#line 10574 "MachineIndependent/glslang_tab.cpp"10573break;1057410575case 509: /* type_specifier_nonarray: U64IMAGEBUFFER */10576#line 3375 "MachineIndependent/glslang.y"10577{10578(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());10579(yyval.interm.type).basicType = EbtSampler;10580(yyval.interm.type).sampler.setImage(EbtUint64, EsdBuffer);10581}10582#line 10584 "MachineIndependent/glslang_tab.cpp"10583break;1058410585case 510: /* type_specifier_nonarray: I64IMAGE1DARRAY */10586#line 3380 "MachineIndependent/glslang.y"10587{10588(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());10589(yyval.interm.type).basicType = EbtSampler;10590(yyval.interm.type).sampler.setImage(EbtInt64, Esd1D, true);10591}10592#line 10594 "MachineIndependent/glslang_tab.cpp"10593break;1059410595case 511: /* type_specifier_nonarray: U64IMAGE1DARRAY */10596#line 3385 "MachineIndependent/glslang.y"10597{10598(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());10599(yyval.interm.type).basicType = EbtSampler;10600(yyval.interm.type).sampler.setImage(EbtUint64, Esd1D, true);10601}10602#line 10604 "MachineIndependent/glslang_tab.cpp"10603break;1060410605case 512: /* type_specifier_nonarray: I64IMAGE2DARRAY */10606#line 3390 "MachineIndependent/glslang.y"10607{10608(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());10609(yyval.interm.type).basicType = EbtSampler;10610(yyval.interm.type).sampler.setImage(EbtInt64, Esd2D, true);10611}10612#line 10614 "MachineIndependent/glslang_tab.cpp"10613break;1061410615case 513: /* type_specifier_nonarray: U64IMAGE2DARRAY */10616#line 3395 "MachineIndependent/glslang.y"10617{10618(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());10619(yyval.interm.type).basicType = EbtSampler;10620(yyval.interm.type).sampler.setImage(EbtUint64, Esd2D, true);10621}10622#line 10624 "MachineIndependent/glslang_tab.cpp"10623break;1062410625case 514: /* type_specifier_nonarray: I64IMAGECUBEARRAY */10626#line 3400 "MachineIndependent/glslang.y"10627{10628(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());10629(yyval.interm.type).basicType = EbtSampler;10630(yyval.interm.type).sampler.setImage(EbtInt64, EsdCube, true);10631}10632#line 10634 "MachineIndependent/glslang_tab.cpp"10633break;1063410635case 515: /* type_specifier_nonarray: U64IMAGECUBEARRAY */10636#line 3405 "MachineIndependent/glslang.y"10637{10638(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());10639(yyval.interm.type).basicType = EbtSampler;10640(yyval.interm.type).sampler.setImage(EbtUint64, EsdCube, true);10641}10642#line 10644 "MachineIndependent/glslang_tab.cpp"10643break;1064410645case 516: /* type_specifier_nonarray: I64IMAGE2DMS */10646#line 3410 "MachineIndependent/glslang.y"10647{10648(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());10649(yyval.interm.type).basicType = EbtSampler;10650(yyval.interm.type).sampler.setImage(EbtInt64, Esd2D, false, false, true);10651}10652#line 10654 "MachineIndependent/glslang_tab.cpp"10653break;1065410655case 517: /* type_specifier_nonarray: U64IMAGE2DMS */10656#line 3415 "MachineIndependent/glslang.y"10657{10658(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());10659(yyval.interm.type).basicType = EbtSampler;10660(yyval.interm.type).sampler.setImage(EbtUint64, Esd2D, false, false, true);10661}10662#line 10664 "MachineIndependent/glslang_tab.cpp"10663break;1066410665case 518: /* type_specifier_nonarray: I64IMAGE2DMSARRAY */10666#line 3420 "MachineIndependent/glslang.y"10667{10668(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());10669(yyval.interm.type).basicType = EbtSampler;10670(yyval.interm.type).sampler.setImage(EbtInt64, Esd2D, true, false, true);10671}10672#line 10674 "MachineIndependent/glslang_tab.cpp"10673break;1067410675case 519: /* type_specifier_nonarray: U64IMAGE2DMSARRAY */10676#line 3425 "MachineIndependent/glslang.y"10677{10678(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());10679(yyval.interm.type).basicType = EbtSampler;10680(yyval.interm.type).sampler.setImage(EbtUint64, Esd2D, true, false, true);10681}10682#line 10684 "MachineIndependent/glslang_tab.cpp"10683break;1068410685case 520: /* type_specifier_nonarray: SAMPLEREXTERNALOES */10686#line 3430 "MachineIndependent/glslang.y"10687{ // GL_OES_EGL_image_external10688(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());10689(yyval.interm.type).basicType = EbtSampler;10690(yyval.interm.type).sampler.set(EbtFloat, Esd2D);10691(yyval.interm.type).sampler.external = true;10692}10693#line 10695 "MachineIndependent/glslang_tab.cpp"10694break;1069510696case 521: /* type_specifier_nonarray: SAMPLEREXTERNAL2DY2YEXT */10697#line 3436 "MachineIndependent/glslang.y"10698{ // GL_EXT_YUV_target10699(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());10700(yyval.interm.type).basicType = EbtSampler;10701(yyval.interm.type).sampler.set(EbtFloat, Esd2D);10702(yyval.interm.type).sampler.yuv = true;10703}10704#line 10706 "MachineIndependent/glslang_tab.cpp"10705break;1070610707case 522: /* type_specifier_nonarray: ATTACHMENTEXT */10708#line 3442 "MachineIndependent/glslang.y"10709{10710parseContext.requireStage((yyvsp[0].lex).loc, EShLangFragment, "attachmentEXT input");10711(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());10712(yyval.interm.type).basicType = EbtSampler;10713(yyval.interm.type).sampler.setAttachmentEXT(EbtFloat);10714}10715#line 10717 "MachineIndependent/glslang_tab.cpp"10716break;1071710718case 523: /* type_specifier_nonarray: IATTACHMENTEXT */10719#line 3448 "MachineIndependent/glslang.y"10720{10721parseContext.requireStage((yyvsp[0].lex).loc, EShLangFragment, "attachmentEXT input");10722(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());10723(yyval.interm.type).basicType = EbtSampler;10724(yyval.interm.type).sampler.setAttachmentEXT(EbtInt);10725}10726#line 10728 "MachineIndependent/glslang_tab.cpp"10727break;1072810729case 524: /* type_specifier_nonarray: UATTACHMENTEXT */10730#line 3454 "MachineIndependent/glslang.y"10731{10732parseContext.requireStage((yyvsp[0].lex).loc, EShLangFragment, "attachmentEXT input");10733(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());10734(yyval.interm.type).basicType = EbtSampler;10735(yyval.interm.type).sampler.setAttachmentEXT(EbtUint);10736}10737#line 10739 "MachineIndependent/glslang_tab.cpp"10738break;1073910740case 525: /* type_specifier_nonarray: SUBPASSINPUT */10741#line 3460 "MachineIndependent/glslang.y"10742{10743parseContext.requireStage((yyvsp[0].lex).loc, EShLangFragment, "subpass input");10744(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());10745(yyval.interm.type).basicType = EbtSampler;10746(yyval.interm.type).sampler.setSubpass(EbtFloat);10747}10748#line 10750 "MachineIndependent/glslang_tab.cpp"10749break;1075010751case 526: /* type_specifier_nonarray: SUBPASSINPUTMS */10752#line 3466 "MachineIndependent/glslang.y"10753{10754parseContext.requireStage((yyvsp[0].lex).loc, EShLangFragment, "subpass input");10755(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());10756(yyval.interm.type).basicType = EbtSampler;10757(yyval.interm.type).sampler.setSubpass(EbtFloat, true);10758}10759#line 10761 "MachineIndependent/glslang_tab.cpp"10760break;1076110762case 527: /* type_specifier_nonarray: F16SUBPASSINPUT */10763#line 3472 "MachineIndependent/glslang.y"10764{10765parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float subpass input", parseContext.symbolTable.atBuiltInLevel());10766parseContext.requireStage((yyvsp[0].lex).loc, EShLangFragment, "subpass input");10767(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());10768(yyval.interm.type).basicType = EbtSampler;10769(yyval.interm.type).sampler.setSubpass(EbtFloat16);10770}10771#line 10773 "MachineIndependent/glslang_tab.cpp"10772break;1077310774case 528: /* type_specifier_nonarray: F16SUBPASSINPUTMS */10775#line 3479 "MachineIndependent/glslang.y"10776{10777parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float subpass input", parseContext.symbolTable.atBuiltInLevel());10778parseContext.requireStage((yyvsp[0].lex).loc, EShLangFragment, "subpass input");10779(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());10780(yyval.interm.type).basicType = EbtSampler;10781(yyval.interm.type).sampler.setSubpass(EbtFloat16, true);10782}10783#line 10785 "MachineIndependent/glslang_tab.cpp"10784break;1078510786case 529: /* type_specifier_nonarray: ISUBPASSINPUT */10787#line 3486 "MachineIndependent/glslang.y"10788{10789parseContext.requireStage((yyvsp[0].lex).loc, EShLangFragment, "subpass input");10790(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());10791(yyval.interm.type).basicType = EbtSampler;10792(yyval.interm.type).sampler.setSubpass(EbtInt);10793}10794#line 10796 "MachineIndependent/glslang_tab.cpp"10795break;1079610797case 530: /* type_specifier_nonarray: ISUBPASSINPUTMS */10798#line 3492 "MachineIndependent/glslang.y"10799{10800parseContext.requireStage((yyvsp[0].lex).loc, EShLangFragment, "subpass input");10801(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());10802(yyval.interm.type).basicType = EbtSampler;10803(yyval.interm.type).sampler.setSubpass(EbtInt, true);10804}10805#line 10807 "MachineIndependent/glslang_tab.cpp"10806break;1080710808case 531: /* type_specifier_nonarray: USUBPASSINPUT */10809#line 3498 "MachineIndependent/glslang.y"10810{10811parseContext.requireStage((yyvsp[0].lex).loc, EShLangFragment, "subpass input");10812(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());10813(yyval.interm.type).basicType = EbtSampler;10814(yyval.interm.type).sampler.setSubpass(EbtUint);10815}10816#line 10818 "MachineIndependent/glslang_tab.cpp"10817break;1081810819case 532: /* type_specifier_nonarray: USUBPASSINPUTMS */10820#line 3504 "MachineIndependent/glslang.y"10821{10822parseContext.requireStage((yyvsp[0].lex).loc, EShLangFragment, "subpass input");10823(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());10824(yyval.interm.type).basicType = EbtSampler;10825(yyval.interm.type).sampler.setSubpass(EbtUint, true);10826}10827#line 10829 "MachineIndependent/glslang_tab.cpp"10828break;1082910830case 533: /* type_specifier_nonarray: FCOOPMATNV */10831#line 3510 "MachineIndependent/glslang.y"10832{10833parseContext.fcoopmatCheckNV((yyvsp[0].lex).loc, "fcoopmatNV", parseContext.symbolTable.atBuiltInLevel());10834(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());10835(yyval.interm.type).basicType = EbtFloat;10836(yyval.interm.type).coopmatNV = true;10837(yyval.interm.type).coopmatKHR = false;10838}10839#line 10841 "MachineIndependent/glslang_tab.cpp"10840break;1084110842case 534: /* type_specifier_nonarray: ICOOPMATNV */10843#line 3517 "MachineIndependent/glslang.y"10844{10845parseContext.intcoopmatCheckNV((yyvsp[0].lex).loc, "icoopmatNV", parseContext.symbolTable.atBuiltInLevel());10846(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());10847(yyval.interm.type).basicType = EbtInt;10848(yyval.interm.type).coopmatNV = true;10849(yyval.interm.type).coopmatKHR = false;10850}10851#line 10853 "MachineIndependent/glslang_tab.cpp"10852break;1085310854case 535: /* type_specifier_nonarray: UCOOPMATNV */10855#line 3524 "MachineIndependent/glslang.y"10856{10857parseContext.intcoopmatCheckNV((yyvsp[0].lex).loc, "ucoopmatNV", parseContext.symbolTable.atBuiltInLevel());10858(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());10859(yyval.interm.type).basicType = EbtUint;10860(yyval.interm.type).coopmatNV = true;10861(yyval.interm.type).coopmatKHR = false;10862}10863#line 10865 "MachineIndependent/glslang_tab.cpp"10864break;1086510866case 536: /* type_specifier_nonarray: COOPMAT */10867#line 3531 "MachineIndependent/glslang.y"10868{10869parseContext.coopmatCheck((yyvsp[0].lex).loc, "coopmat", parseContext.symbolTable.atBuiltInLevel());10870(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());10871(yyval.interm.type).basicType = EbtCoopmat;10872(yyval.interm.type).coopmatNV = false;10873(yyval.interm.type).coopmatKHR = true;10874}10875#line 10877 "MachineIndependent/glslang_tab.cpp"10876break;1087710878case 537: /* type_specifier_nonarray: spirv_type_specifier */10879#line 3538 "MachineIndependent/glslang.y"10880{10881parseContext.requireExtensions((yyvsp[0].interm.type).loc, 1, &E_GL_EXT_spirv_intrinsics, "SPIR-V type specifier");10882(yyval.interm.type) = (yyvsp[0].interm.type);10883}10884#line 10886 "MachineIndependent/glslang_tab.cpp"10885break;1088610887case 538: /* type_specifier_nonarray: HITOBJECTNV */10888#line 3542 "MachineIndependent/glslang.y"10889{10890(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());10891(yyval.interm.type).basicType = EbtHitObjectNV;10892}10893#line 10895 "MachineIndependent/glslang_tab.cpp"10894break;1089510896case 539: /* type_specifier_nonarray: struct_specifier */10897#line 3546 "MachineIndependent/glslang.y"10898{10899(yyval.interm.type) = (yyvsp[0].interm.type);10900(yyval.interm.type).qualifier.storage = parseContext.symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;10901parseContext.structTypeCheck((yyval.interm.type).loc, (yyval.interm.type));10902}10903#line 10905 "MachineIndependent/glslang_tab.cpp"10904break;1090510906case 540: /* type_specifier_nonarray: TYPE_NAME */10907#line 3551 "MachineIndependent/glslang.y"10908{10909//10910// This is for user defined type names. The lexical phase looked up the10911// type.10912//10913if (const TVariable* variable = ((yyvsp[0].lex).symbol)->getAsVariable()) {10914const TType& structure = variable->getType();10915(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());10916(yyval.interm.type).basicType = EbtStruct;10917(yyval.interm.type).userDef = &structure;10918} else10919parseContext.error((yyvsp[0].lex).loc, "expected type name", (yyvsp[0].lex).string->c_str(), "");10920}10921#line 10923 "MachineIndependent/glslang_tab.cpp"10922break;1092310924case 541: /* precision_qualifier: HIGH_PRECISION */10925#line 3567 "MachineIndependent/glslang.y"10926{10927parseContext.profileRequires((yyvsp[0].lex).loc, ENoProfile, 130, 0, "highp precision qualifier");10928(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());10929parseContext.handlePrecisionQualifier((yyvsp[0].lex).loc, (yyval.interm.type).qualifier, EpqHigh);10930}10931#line 10933 "MachineIndependent/glslang_tab.cpp"10932break;1093310934case 542: /* precision_qualifier: MEDIUM_PRECISION */10935#line 3572 "MachineIndependent/glslang.y"10936{10937parseContext.profileRequires((yyvsp[0].lex).loc, ENoProfile, 130, 0, "mediump precision qualifier");10938(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());10939parseContext.handlePrecisionQualifier((yyvsp[0].lex).loc, (yyval.interm.type).qualifier, EpqMedium);10940}10941#line 10943 "MachineIndependent/glslang_tab.cpp"10942break;1094310944case 543: /* precision_qualifier: LOW_PRECISION */10945#line 3577 "MachineIndependent/glslang.y"10946{10947parseContext.profileRequires((yyvsp[0].lex).loc, ENoProfile, 130, 0, "lowp precision qualifier");10948(yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());10949parseContext.handlePrecisionQualifier((yyvsp[0].lex).loc, (yyval.interm.type).qualifier, EpqLow);10950}10951#line 10953 "MachineIndependent/glslang_tab.cpp"10952break;1095310954case 544: /* $@3: %empty */10955#line 3585 "MachineIndependent/glslang.y"10956{ parseContext.nestedStructCheck((yyvsp[-2].lex).loc); }10957#line 10959 "MachineIndependent/glslang_tab.cpp"10958break;1095910960case 545: /* struct_specifier: STRUCT IDENTIFIER LEFT_BRACE $@3 struct_declaration_list RIGHT_BRACE */10961#line 3585 "MachineIndependent/glslang.y"10962{1096310964TType* structure = new TType((yyvsp[-1].interm.typeList), *(yyvsp[-4].lex).string);10965parseContext.structArrayCheck((yyvsp[-4].lex).loc, *structure);1096610967TVariable* userTypeDef = new TVariable((yyvsp[-4].lex).string, *structure, true);10968if (! parseContext.symbolTable.insert(*userTypeDef))10969parseContext.error((yyvsp[-4].lex).loc, "redefinition", (yyvsp[-4].lex).string->c_str(), "struct");10970else if (parseContext.spvVersion.vulkanRelaxed10971&& structure->containsOpaque())10972parseContext.relaxedSymbols.push_back(structure->getTypeName());1097310974(yyval.interm.type).init((yyvsp[-5].lex).loc);10975(yyval.interm.type).basicType = EbtStruct;10976(yyval.interm.type).userDef = structure;10977--parseContext.structNestingLevel;10978}10979#line 10981 "MachineIndependent/glslang_tab.cpp"10980break;1098110982case 546: /* $@4: %empty */10983#line 3602 "MachineIndependent/glslang.y"10984{ parseContext.nestedStructCheck((yyvsp[-1].lex).loc); }10985#line 10987 "MachineIndependent/glslang_tab.cpp"10986break;1098710988case 547: /* struct_specifier: STRUCT LEFT_BRACE $@4 struct_declaration_list RIGHT_BRACE */10989#line 3602 "MachineIndependent/glslang.y"10990{10991TType* structure = new TType((yyvsp[-1].interm.typeList), TString(""));10992(yyval.interm.type).init((yyvsp[-4].lex).loc);10993(yyval.interm.type).basicType = EbtStruct;10994(yyval.interm.type).userDef = structure;10995--parseContext.structNestingLevel;10996}10997#line 10999 "MachineIndependent/glslang_tab.cpp"10998break;1099911000case 548: /* struct_declaration_list: struct_declaration */11001#line 3612 "MachineIndependent/glslang.y"11002{11003(yyval.interm.typeList) = (yyvsp[0].interm.typeList);11004}11005#line 11007 "MachineIndependent/glslang_tab.cpp"11006break;1100711008case 549: /* struct_declaration_list: struct_declaration_list struct_declaration */11009#line 3615 "MachineIndependent/glslang.y"11010{11011(yyval.interm.typeList) = (yyvsp[-1].interm.typeList);11012for (unsigned int i = 0; i < (yyvsp[0].interm.typeList)->size(); ++i) {11013for (unsigned int j = 0; j < (yyval.interm.typeList)->size(); ++j) {11014if ((*(yyval.interm.typeList))[j].type->getFieldName() == (*(yyvsp[0].interm.typeList))[i].type->getFieldName())11015parseContext.error((*(yyvsp[0].interm.typeList))[i].loc, "duplicate member name:", "", (*(yyvsp[0].interm.typeList))[i].type->getFieldName().c_str());11016}11017(yyval.interm.typeList)->push_back((*(yyvsp[0].interm.typeList))[i]);11018}11019}11020#line 11022 "MachineIndependent/glslang_tab.cpp"11021break;1102211023case 550: /* struct_declaration: type_specifier struct_declarator_list SEMICOLON */11024#line 3628 "MachineIndependent/glslang.y"11025{11026if ((yyvsp[-2].interm.type).arraySizes) {11027parseContext.profileRequires((yyvsp[-2].interm.type).loc, ENoProfile, 120, E_GL_3DL_array_objects, "arrayed type");11028parseContext.profileRequires((yyvsp[-2].interm.type).loc, EEsProfile, 300, 0, "arrayed type");11029if (parseContext.isEsProfile())11030parseContext.arraySizeRequiredCheck((yyvsp[-2].interm.type).loc, *(yyvsp[-2].interm.type).arraySizes);11031}1103211033(yyval.interm.typeList) = (yyvsp[-1].interm.typeList);1103411035parseContext.voidErrorCheck((yyvsp[-2].interm.type).loc, (*(yyvsp[-1].interm.typeList))[0].type->getFieldName(), (yyvsp[-2].interm.type).basicType);11036parseContext.precisionQualifierCheck((yyvsp[-2].interm.type).loc, (yyvsp[-2].interm.type).basicType, (yyvsp[-2].interm.type).qualifier, (yyvsp[-2].interm.type).isCoopmat());1103711038for (unsigned int i = 0; i < (yyval.interm.typeList)->size(); ++i) {11039TType type((yyvsp[-2].interm.type));11040type.setFieldName((*(yyval.interm.typeList))[i].type->getFieldName());11041type.transferArraySizes((*(yyval.interm.typeList))[i].type->getArraySizes());11042type.copyArrayInnerSizes((yyvsp[-2].interm.type).arraySizes);11043parseContext.arrayOfArrayVersionCheck((*(yyval.interm.typeList))[i].loc, type.getArraySizes());11044(*(yyval.interm.typeList))[i].type->shallowCopy(type);11045}11046}11047#line 11049 "MachineIndependent/glslang_tab.cpp"11048break;1104911050case 551: /* struct_declaration: type_qualifier type_specifier struct_declarator_list SEMICOLON */11051#line 3650 "MachineIndependent/glslang.y"11052{11053if ((yyvsp[-2].interm.type).arraySizes) {11054parseContext.profileRequires((yyvsp[-2].interm.type).loc, ENoProfile, 120, E_GL_3DL_array_objects, "arrayed type");11055parseContext.profileRequires((yyvsp[-2].interm.type).loc, EEsProfile, 300, 0, "arrayed type");11056if (parseContext.isEsProfile())11057parseContext.arraySizeRequiredCheck((yyvsp[-2].interm.type).loc, *(yyvsp[-2].interm.type).arraySizes);11058}1105911060(yyval.interm.typeList) = (yyvsp[-1].interm.typeList);1106111062parseContext.memberQualifierCheck((yyvsp[-3].interm.type));11063parseContext.voidErrorCheck((yyvsp[-2].interm.type).loc, (*(yyvsp[-1].interm.typeList))[0].type->getFieldName(), (yyvsp[-2].interm.type).basicType);11064parseContext.mergeQualifiers((yyvsp[-2].interm.type).loc, (yyvsp[-2].interm.type).qualifier, (yyvsp[-3].interm.type).qualifier, true);11065parseContext.precisionQualifierCheck((yyvsp[-2].interm.type).loc, (yyvsp[-2].interm.type).basicType, (yyvsp[-2].interm.type).qualifier, (yyvsp[-2].interm.type).isCoopmat());1106611067for (unsigned int i = 0; i < (yyval.interm.typeList)->size(); ++i) {11068TType type((yyvsp[-2].interm.type));11069type.setFieldName((*(yyval.interm.typeList))[i].type->getFieldName());11070type.transferArraySizes((*(yyval.interm.typeList))[i].type->getArraySizes());11071type.copyArrayInnerSizes((yyvsp[-2].interm.type).arraySizes);11072parseContext.arrayOfArrayVersionCheck((*(yyval.interm.typeList))[i].loc, type.getArraySizes());11073(*(yyval.interm.typeList))[i].type->shallowCopy(type);11074}11075}11076#line 11078 "MachineIndependent/glslang_tab.cpp"11077break;1107811079case 552: /* struct_declarator_list: struct_declarator */11080#line 3677 "MachineIndependent/glslang.y"11081{11082(yyval.interm.typeList) = new TTypeList;11083(yyval.interm.typeList)->push_back((yyvsp[0].interm.typeLine));11084}11085#line 11087 "MachineIndependent/glslang_tab.cpp"11086break;1108711088case 553: /* struct_declarator_list: struct_declarator_list COMMA struct_declarator */11089#line 3681 "MachineIndependent/glslang.y"11090{11091(yyval.interm.typeList)->push_back((yyvsp[0].interm.typeLine));11092}11093#line 11095 "MachineIndependent/glslang_tab.cpp"11094break;1109511096case 554: /* struct_declarator: IDENTIFIER */11097#line 3687 "MachineIndependent/glslang.y"11098{11099(yyval.interm.typeLine).type = new TType(EbtVoid);11100(yyval.interm.typeLine).loc = (yyvsp[0].lex).loc;11101(yyval.interm.typeLine).type->setFieldName(*(yyvsp[0].lex).string);11102}11103#line 11105 "MachineIndependent/glslang_tab.cpp"11104break;1110511106case 555: /* struct_declarator: IDENTIFIER array_specifier */11107#line 3692 "MachineIndependent/glslang.y"11108{11109parseContext.arrayOfArrayVersionCheck((yyvsp[-1].lex).loc, (yyvsp[0].interm).arraySizes);1111011111(yyval.interm.typeLine).type = new TType(EbtVoid);11112(yyval.interm.typeLine).loc = (yyvsp[-1].lex).loc;11113(yyval.interm.typeLine).type->setFieldName(*(yyvsp[-1].lex).string);11114(yyval.interm.typeLine).type->transferArraySizes((yyvsp[0].interm).arraySizes);11115}11116#line 11118 "MachineIndependent/glslang_tab.cpp"11117break;1111811119case 556: /* initializer: assignment_expression */11120#line 3703 "MachineIndependent/glslang.y"11121{11122(yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode);11123}11124#line 11126 "MachineIndependent/glslang_tab.cpp"11125break;1112611127case 557: /* initializer: LEFT_BRACE initializer_list RIGHT_BRACE */11128#line 3706 "MachineIndependent/glslang.y"11129{11130const char* initFeature = "{ } style initializers";11131parseContext.requireProfile((yyvsp[-2].lex).loc, ~EEsProfile, initFeature);11132parseContext.profileRequires((yyvsp[-2].lex).loc, ~EEsProfile, 420, E_GL_ARB_shading_language_420pack, initFeature);11133(yyval.interm.intermTypedNode) = (yyvsp[-1].interm.intermTypedNode);11134}11135#line 11137 "MachineIndependent/glslang_tab.cpp"11136break;1113711138case 558: /* initializer: LEFT_BRACE initializer_list COMMA RIGHT_BRACE */11139#line 3712 "MachineIndependent/glslang.y"11140{11141const char* initFeature = "{ } style initializers";11142parseContext.requireProfile((yyvsp[-3].lex).loc, ~EEsProfile, initFeature);11143parseContext.profileRequires((yyvsp[-3].lex).loc, ~EEsProfile, 420, E_GL_ARB_shading_language_420pack, initFeature);11144(yyval.interm.intermTypedNode) = (yyvsp[-2].interm.intermTypedNode);11145}11146#line 11148 "MachineIndependent/glslang_tab.cpp"11147break;1114811149case 559: /* initializer: LEFT_BRACE RIGHT_BRACE */11150#line 3718 "MachineIndependent/glslang.y"11151{11152const char* initFeature = "empty { } initializer";11153parseContext.profileRequires((yyvsp[-1].lex).loc, EEsProfile, 0, E_GL_EXT_null_initializer, initFeature);11154parseContext.profileRequires((yyvsp[-1].lex).loc, ~EEsProfile, 0, E_GL_EXT_null_initializer, initFeature);11155(yyval.interm.intermTypedNode) = parseContext.intermediate.makeAggregate((yyvsp[-1].lex).loc);11156}11157#line 11159 "MachineIndependent/glslang_tab.cpp"11158break;1115911160case 560: /* initializer_list: initializer */11161#line 3727 "MachineIndependent/glslang.y"11162{11163(yyval.interm.intermTypedNode) = parseContext.intermediate.growAggregate(0, (yyvsp[0].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode)->getLoc());11164}11165#line 11167 "MachineIndependent/glslang_tab.cpp"11166break;1116711168case 561: /* initializer_list: initializer_list COMMA initializer */11169#line 3730 "MachineIndependent/glslang.y"11170{11171(yyval.interm.intermTypedNode) = parseContext.intermediate.growAggregate((yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode));11172}11173#line 11175 "MachineIndependent/glslang_tab.cpp"11174break;1117511176case 562: /* declaration_statement: declaration */11177#line 3736 "MachineIndependent/glslang.y"11178{ (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }11179#line 11181 "MachineIndependent/glslang_tab.cpp"11180break;1118111182case 563: /* statement: compound_statement */11183#line 3740 "MachineIndependent/glslang.y"11184{ (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }11185#line 11187 "MachineIndependent/glslang_tab.cpp"11186break;1118711188case 564: /* statement: simple_statement */11189#line 3741 "MachineIndependent/glslang.y"11190{ (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }11191#line 11193 "MachineIndependent/glslang_tab.cpp"11192break;1119311194case 565: /* simple_statement: declaration_statement */11195#line 3747 "MachineIndependent/glslang.y"11196{ (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }11197#line 11199 "MachineIndependent/glslang_tab.cpp"11198break;1119911200case 566: /* simple_statement: expression_statement */11201#line 3748 "MachineIndependent/glslang.y"11202{ (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }11203#line 11205 "MachineIndependent/glslang_tab.cpp"11204break;1120511206case 567: /* simple_statement: selection_statement */11207#line 3749 "MachineIndependent/glslang.y"11208{ (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }11209#line 11211 "MachineIndependent/glslang_tab.cpp"11210break;1121111212case 568: /* simple_statement: switch_statement */11213#line 3750 "MachineIndependent/glslang.y"11214{ (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }11215#line 11217 "MachineIndependent/glslang_tab.cpp"11216break;1121711218case 569: /* simple_statement: case_label */11219#line 3751 "MachineIndependent/glslang.y"11220{ (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }11221#line 11223 "MachineIndependent/glslang_tab.cpp"11222break;1122311224case 570: /* simple_statement: iteration_statement */11225#line 3752 "MachineIndependent/glslang.y"11226{ (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }11227#line 11229 "MachineIndependent/glslang_tab.cpp"11228break;1122911230case 571: /* simple_statement: jump_statement */11231#line 3753 "MachineIndependent/glslang.y"11232{ (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }11233#line 11235 "MachineIndependent/glslang_tab.cpp"11234break;1123511236case 572: /* simple_statement: demote_statement */11237#line 3754 "MachineIndependent/glslang.y"11238{ (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }11239#line 11241 "MachineIndependent/glslang_tab.cpp"11240break;1124111242case 573: /* demote_statement: DEMOTE SEMICOLON */11243#line 3758 "MachineIndependent/glslang.y"11244{11245parseContext.requireStage((yyvsp[-1].lex).loc, EShLangFragment, "demote");11246parseContext.requireExtensions((yyvsp[-1].lex).loc, 1, &E_GL_EXT_demote_to_helper_invocation, "demote");11247(yyval.interm.intermNode) = parseContext.intermediate.addBranch(EOpDemote, (yyvsp[-1].lex).loc);11248}11249#line 11251 "MachineIndependent/glslang_tab.cpp"11250break;1125111252case 574: /* compound_statement: LEFT_BRACE RIGHT_BRACE */11253#line 3766 "MachineIndependent/glslang.y"11254{ (yyval.interm.intermNode) = 0; }11255#line 11257 "MachineIndependent/glslang_tab.cpp"11256break;1125711258case 575: /* $@5: %empty */11259#line 3767 "MachineIndependent/glslang.y"11260{11261parseContext.symbolTable.push();11262++parseContext.statementNestingLevel;11263}11264#line 11266 "MachineIndependent/glslang_tab.cpp"11265break;1126611267case 576: /* $@6: %empty */11268#line 3771 "MachineIndependent/glslang.y"11269{11270parseContext.symbolTable.pop(&parseContext.defaultPrecision[0]);11271--parseContext.statementNestingLevel;11272}11273#line 11275 "MachineIndependent/glslang_tab.cpp"11274break;1127511276case 577: /* compound_statement: LEFT_BRACE $@5 statement_list $@6 RIGHT_BRACE */11277#line 3775 "MachineIndependent/glslang.y"11278{11279if ((yyvsp[-2].interm.intermNode) && (yyvsp[-2].interm.intermNode)->getAsAggregate())11280(yyvsp[-2].interm.intermNode)->getAsAggregate()->setOperator(parseContext.intermediate.getDebugInfo() ? EOpScope : EOpSequence);11281(yyval.interm.intermNode) = (yyvsp[-2].interm.intermNode);11282}11283#line 11285 "MachineIndependent/glslang_tab.cpp"11284break;1128511286case 578: /* statement_no_new_scope: compound_statement_no_new_scope */11287#line 3783 "MachineIndependent/glslang.y"11288{ (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }11289#line 11291 "MachineIndependent/glslang_tab.cpp"11290break;1129111292case 579: /* statement_no_new_scope: simple_statement */11293#line 3784 "MachineIndependent/glslang.y"11294{ (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }11295#line 11297 "MachineIndependent/glslang_tab.cpp"11296break;1129711298case 580: /* $@7: %empty */11299#line 3788 "MachineIndependent/glslang.y"11300{11301++parseContext.controlFlowNestingLevel;11302}11303#line 11305 "MachineIndependent/glslang_tab.cpp"11304break;1130511306case 581: /* statement_scoped: $@7 compound_statement */11307#line 3791 "MachineIndependent/glslang.y"11308{11309--parseContext.controlFlowNestingLevel;11310(yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);11311}11312#line 11314 "MachineIndependent/glslang_tab.cpp"11313break;1131411315case 582: /* $@8: %empty */11316#line 3795 "MachineIndependent/glslang.y"11317{11318parseContext.symbolTable.push();11319++parseContext.statementNestingLevel;11320++parseContext.controlFlowNestingLevel;11321}11322#line 11324 "MachineIndependent/glslang_tab.cpp"11323break;1132411325case 583: /* statement_scoped: $@8 simple_statement */11326#line 3800 "MachineIndependent/glslang.y"11327{11328parseContext.symbolTable.pop(&parseContext.defaultPrecision[0]);11329--parseContext.statementNestingLevel;11330--parseContext.controlFlowNestingLevel;11331(yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);11332}11333#line 11335 "MachineIndependent/glslang_tab.cpp"11334break;1133511336case 584: /* compound_statement_no_new_scope: LEFT_BRACE RIGHT_BRACE */11337#line 3809 "MachineIndependent/glslang.y"11338{11339(yyval.interm.intermNode) = 0;11340}11341#line 11343 "MachineIndependent/glslang_tab.cpp"11342break;1134311344case 585: /* compound_statement_no_new_scope: LEFT_BRACE statement_list RIGHT_BRACE */11345#line 3812 "MachineIndependent/glslang.y"11346{11347if ((yyvsp[-1].interm.intermNode) && (yyvsp[-1].interm.intermNode)->getAsAggregate())11348(yyvsp[-1].interm.intermNode)->getAsAggregate()->setOperator(EOpSequence);11349(yyval.interm.intermNode) = (yyvsp[-1].interm.intermNode);11350}11351#line 11353 "MachineIndependent/glslang_tab.cpp"11352break;1135311354case 586: /* statement_list: statement */11355#line 3820 "MachineIndependent/glslang.y"11356{11357(yyval.interm.intermNode) = parseContext.intermediate.makeAggregate((yyvsp[0].interm.intermNode));11358if ((yyvsp[0].interm.intermNode) && (yyvsp[0].interm.intermNode)->getAsBranchNode() && ((yyvsp[0].interm.intermNode)->getAsBranchNode()->getFlowOp() == EOpCase ||11359(yyvsp[0].interm.intermNode)->getAsBranchNode()->getFlowOp() == EOpDefault)) {11360parseContext.wrapupSwitchSubsequence(0, (yyvsp[0].interm.intermNode));11361(yyval.interm.intermNode) = 0; // start a fresh subsequence for what's after this case11362}11363}11364#line 11366 "MachineIndependent/glslang_tab.cpp"11365break;1136611367case 587: /* statement_list: statement_list statement */11368#line 3828 "MachineIndependent/glslang.y"11369{11370if ((yyvsp[0].interm.intermNode) && (yyvsp[0].interm.intermNode)->getAsBranchNode() && ((yyvsp[0].interm.intermNode)->getAsBranchNode()->getFlowOp() == EOpCase ||11371(yyvsp[0].interm.intermNode)->getAsBranchNode()->getFlowOp() == EOpDefault)) {11372parseContext.wrapupSwitchSubsequence((yyvsp[-1].interm.intermNode) ? (yyvsp[-1].interm.intermNode)->getAsAggregate() : 0, (yyvsp[0].interm.intermNode));11373(yyval.interm.intermNode) = 0; // start a fresh subsequence for what's after this case11374} else11375(yyval.interm.intermNode) = parseContext.intermediate.growAggregate((yyvsp[-1].interm.intermNode), (yyvsp[0].interm.intermNode));11376}11377#line 11379 "MachineIndependent/glslang_tab.cpp"11378break;1137911380case 588: /* expression_statement: SEMICOLON */11381#line 3839 "MachineIndependent/glslang.y"11382{ (yyval.interm.intermNode) = 0; }11383#line 11385 "MachineIndependent/glslang_tab.cpp"11384break;1138511386case 589: /* expression_statement: expression SEMICOLON */11387#line 3840 "MachineIndependent/glslang.y"11388{ (yyval.interm.intermNode) = static_cast<TIntermNode*>((yyvsp[-1].interm.intermTypedNode)); }11389#line 11391 "MachineIndependent/glslang_tab.cpp"11390break;1139111392case 590: /* selection_statement: selection_statement_nonattributed */11393#line 3844 "MachineIndependent/glslang.y"11394{11395(yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);11396}11397#line 11399 "MachineIndependent/glslang_tab.cpp"11398break;1139911400case 591: /* selection_statement: attribute selection_statement_nonattributed */11401#line 3847 "MachineIndependent/glslang.y"11402{11403parseContext.requireExtensions((yyvsp[0].interm.intermNode)->getLoc(), 1, &E_GL_EXT_control_flow_attributes, "attribute");11404parseContext.handleSelectionAttributes(*(yyvsp[-1].interm.attributes), (yyvsp[0].interm.intermNode));11405(yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);11406}11407#line 11409 "MachineIndependent/glslang_tab.cpp"11408break;1140911410case 592: /* selection_statement_nonattributed: IF LEFT_PAREN expression RIGHT_PAREN selection_rest_statement */11411#line 3854 "MachineIndependent/glslang.y"11412{11413parseContext.boolCheck((yyvsp[-4].lex).loc, (yyvsp[-2].interm.intermTypedNode));11414(yyval.interm.intermNode) = parseContext.intermediate.addSelection((yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.nodePair), (yyvsp[-4].lex).loc);11415}11416#line 11418 "MachineIndependent/glslang_tab.cpp"11417break;1141811419case 593: /* selection_rest_statement: statement_scoped ELSE statement_scoped */11420#line 3861 "MachineIndependent/glslang.y"11421{11422(yyval.interm.nodePair).node1 = (yyvsp[-2].interm.intermNode);11423(yyval.interm.nodePair).node2 = (yyvsp[0].interm.intermNode);11424}11425#line 11427 "MachineIndependent/glslang_tab.cpp"11426break;1142711428case 594: /* selection_rest_statement: statement_scoped */11429#line 3865 "MachineIndependent/glslang.y"11430{11431(yyval.interm.nodePair).node1 = (yyvsp[0].interm.intermNode);11432(yyval.interm.nodePair).node2 = 0;11433}11434#line 11436 "MachineIndependent/glslang_tab.cpp"11435break;1143611437case 595: /* condition: expression */11438#line 3873 "MachineIndependent/glslang.y"11439{11440(yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode);11441parseContext.boolCheck((yyvsp[0].interm.intermTypedNode)->getLoc(), (yyvsp[0].interm.intermTypedNode));11442}11443#line 11445 "MachineIndependent/glslang_tab.cpp"11444break;1144511446case 596: /* condition: fully_specified_type IDENTIFIER EQUAL initializer */11447#line 3877 "MachineIndependent/glslang.y"11448{11449parseContext.boolCheck((yyvsp[-2].lex).loc, (yyvsp[-3].interm.type));1145011451TType type((yyvsp[-3].interm.type));11452TIntermNode* initNode = parseContext.declareVariable((yyvsp[-2].lex).loc, *(yyvsp[-2].lex).string, (yyvsp[-3].interm.type), 0, (yyvsp[0].interm.intermTypedNode));11453if (initNode)11454(yyval.interm.intermTypedNode) = initNode->getAsTyped();11455else11456(yyval.interm.intermTypedNode) = 0;11457}11458#line 11460 "MachineIndependent/glslang_tab.cpp"11459break;1146011461case 597: /* switch_statement: switch_statement_nonattributed */11462#line 3890 "MachineIndependent/glslang.y"11463{11464(yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);11465}11466#line 11468 "MachineIndependent/glslang_tab.cpp"11467break;1146811469case 598: /* switch_statement: attribute switch_statement_nonattributed */11470#line 3893 "MachineIndependent/glslang.y"11471{11472parseContext.requireExtensions((yyvsp[0].interm.intermNode)->getLoc(), 1, &E_GL_EXT_control_flow_attributes, "attribute");11473parseContext.handleSwitchAttributes(*(yyvsp[-1].interm.attributes), (yyvsp[0].interm.intermNode));11474(yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);11475}11476#line 11478 "MachineIndependent/glslang_tab.cpp"11477break;1147811479case 599: /* $@9: %empty */11480#line 3900 "MachineIndependent/glslang.y"11481{11482// start new switch sequence on the switch stack11483++parseContext.controlFlowNestingLevel;11484++parseContext.statementNestingLevel;11485parseContext.switchSequenceStack.push_back(new TIntermSequence);11486parseContext.switchLevel.push_back(parseContext.statementNestingLevel);11487parseContext.symbolTable.push();11488}11489#line 11491 "MachineIndependent/glslang_tab.cpp"11490break;1149111492case 600: /* switch_statement_nonattributed: SWITCH LEFT_PAREN expression RIGHT_PAREN $@9 LEFT_BRACE switch_statement_list RIGHT_BRACE */11493#line 3908 "MachineIndependent/glslang.y"11494{11495(yyval.interm.intermNode) = parseContext.addSwitch((yyvsp[-7].lex).loc, (yyvsp[-5].interm.intermTypedNode), (yyvsp[-1].interm.intermNode) ? (yyvsp[-1].interm.intermNode)->getAsAggregate() : 0);11496delete parseContext.switchSequenceStack.back();11497parseContext.switchSequenceStack.pop_back();11498parseContext.switchLevel.pop_back();11499parseContext.symbolTable.pop(&parseContext.defaultPrecision[0]);11500--parseContext.statementNestingLevel;11501--parseContext.controlFlowNestingLevel;11502}11503#line 11505 "MachineIndependent/glslang_tab.cpp"11504break;1150511506case 601: /* switch_statement_list: %empty */11507#line 3920 "MachineIndependent/glslang.y"11508{11509(yyval.interm.intermNode) = 0;11510}11511#line 11513 "MachineIndependent/glslang_tab.cpp"11512break;1151311514case 602: /* switch_statement_list: statement_list */11515#line 3923 "MachineIndependent/glslang.y"11516{11517(yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);11518}11519#line 11521 "MachineIndependent/glslang_tab.cpp"11520break;1152111522case 603: /* case_label: CASE expression COLON */11523#line 3929 "MachineIndependent/glslang.y"11524{11525(yyval.interm.intermNode) = 0;11526if (parseContext.switchLevel.size() == 0)11527parseContext.error((yyvsp[-2].lex).loc, "cannot appear outside switch statement", "case", "");11528else if (parseContext.switchLevel.back() != parseContext.statementNestingLevel)11529parseContext.error((yyvsp[-2].lex).loc, "cannot be nested inside control flow", "case", "");11530else {11531parseContext.constantValueCheck((yyvsp[-1].interm.intermTypedNode), "case");11532parseContext.integerCheck((yyvsp[-1].interm.intermTypedNode), "case");11533(yyval.interm.intermNode) = parseContext.intermediate.addBranch(EOpCase, (yyvsp[-1].interm.intermTypedNode), (yyvsp[-2].lex).loc);11534}11535}11536#line 11538 "MachineIndependent/glslang_tab.cpp"11537break;1153811539case 604: /* case_label: DEFAULT COLON */11540#line 3941 "MachineIndependent/glslang.y"11541{11542(yyval.interm.intermNode) = 0;11543if (parseContext.switchLevel.size() == 0)11544parseContext.error((yyvsp[-1].lex).loc, "cannot appear outside switch statement", "default", "");11545else if (parseContext.switchLevel.back() != parseContext.statementNestingLevel)11546parseContext.error((yyvsp[-1].lex).loc, "cannot be nested inside control flow", "default", "");11547else11548(yyval.interm.intermNode) = parseContext.intermediate.addBranch(EOpDefault, (yyvsp[-1].lex).loc);11549}11550#line 11552 "MachineIndependent/glslang_tab.cpp"11551break;1155211553case 605: /* iteration_statement: iteration_statement_nonattributed */11554#line 3953 "MachineIndependent/glslang.y"11555{11556(yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);11557}11558#line 11560 "MachineIndependent/glslang_tab.cpp"11559break;1156011561case 606: /* iteration_statement: attribute iteration_statement_nonattributed */11562#line 3956 "MachineIndependent/glslang.y"11563{11564const char * extensions[2] = { E_GL_EXT_control_flow_attributes, E_GL_EXT_control_flow_attributes2 };11565parseContext.requireExtensions((yyvsp[0].interm.intermNode)->getLoc(), 2, extensions, "attribute");11566parseContext.handleLoopAttributes(*(yyvsp[-1].interm.attributes), (yyvsp[0].interm.intermNode));11567(yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);11568}11569#line 11571 "MachineIndependent/glslang_tab.cpp"11570break;1157111572case 607: /* $@10: %empty */11573#line 3964 "MachineIndependent/glslang.y"11574{11575if (! parseContext.limits.whileLoops)11576parseContext.error((yyvsp[-1].lex).loc, "while loops not available", "limitation", "");11577parseContext.symbolTable.push();11578++parseContext.loopNestingLevel;11579++parseContext.statementNestingLevel;11580++parseContext.controlFlowNestingLevel;11581}11582#line 11584 "MachineIndependent/glslang_tab.cpp"11583break;1158411585case 608: /* iteration_statement_nonattributed: WHILE LEFT_PAREN $@10 condition RIGHT_PAREN statement_no_new_scope */11586#line 3972 "MachineIndependent/glslang.y"11587{11588parseContext.symbolTable.pop(&parseContext.defaultPrecision[0]);11589(yyval.interm.intermNode) = parseContext.intermediate.addLoop((yyvsp[0].interm.intermNode), (yyvsp[-2].interm.intermTypedNode), 0, true, (yyvsp[-5].lex).loc);11590--parseContext.loopNestingLevel;11591--parseContext.statementNestingLevel;11592--parseContext.controlFlowNestingLevel;11593}11594#line 11596 "MachineIndependent/glslang_tab.cpp"11595break;1159611597case 609: /* $@11: %empty */11598#line 3979 "MachineIndependent/glslang.y"11599{11600parseContext.symbolTable.push();11601++parseContext.loopNestingLevel;11602++parseContext.statementNestingLevel;11603++parseContext.controlFlowNestingLevel;11604}11605#line 11607 "MachineIndependent/glslang_tab.cpp"11606break;1160711608case 610: /* iteration_statement_nonattributed: DO $@11 statement WHILE LEFT_PAREN expression RIGHT_PAREN SEMICOLON */11609#line 3985 "MachineIndependent/glslang.y"11610{11611if (! parseContext.limits.whileLoops)11612parseContext.error((yyvsp[-7].lex).loc, "do-while loops not available", "limitation", "");1161311614parseContext.boolCheck((yyvsp[0].lex).loc, (yyvsp[-2].interm.intermTypedNode));1161511616(yyval.interm.intermNode) = parseContext.intermediate.addLoop((yyvsp[-5].interm.intermNode), (yyvsp[-2].interm.intermTypedNode), 0, false, (yyvsp[-4].lex).loc);11617parseContext.symbolTable.pop(&parseContext.defaultPrecision[0]);11618--parseContext.loopNestingLevel;11619--parseContext.statementNestingLevel;11620--parseContext.controlFlowNestingLevel;11621}11622#line 11624 "MachineIndependent/glslang_tab.cpp"11623break;1162411625case 611: /* $@12: %empty */11626#line 3997 "MachineIndependent/glslang.y"11627{11628parseContext.symbolTable.push();11629++parseContext.loopNestingLevel;11630++parseContext.statementNestingLevel;11631++parseContext.controlFlowNestingLevel;11632}11633#line 11635 "MachineIndependent/glslang_tab.cpp"11634break;1163511636case 612: /* iteration_statement_nonattributed: FOR LEFT_PAREN $@12 for_init_statement for_rest_statement RIGHT_PAREN statement_no_new_scope */11637#line 4003 "MachineIndependent/glslang.y"11638{11639parseContext.symbolTable.pop(&parseContext.defaultPrecision[0]);11640(yyval.interm.intermNode) = parseContext.intermediate.makeAggregate((yyvsp[-3].interm.intermNode), (yyvsp[-5].lex).loc);11641TIntermLoop* forLoop = parseContext.intermediate.addLoop((yyvsp[0].interm.intermNode), reinterpret_cast<TIntermTyped*>((yyvsp[-2].interm.nodePair).node1), reinterpret_cast<TIntermTyped*>((yyvsp[-2].interm.nodePair).node2), true, (yyvsp[-6].lex).loc);11642if (! parseContext.limits.nonInductiveForLoops)11643parseContext.inductiveLoopCheck((yyvsp[-6].lex).loc, (yyvsp[-3].interm.intermNode), forLoop);11644(yyval.interm.intermNode) = parseContext.intermediate.growAggregate((yyval.interm.intermNode), forLoop, (yyvsp[-6].lex).loc);11645(yyval.interm.intermNode)->getAsAggregate()->setOperator(EOpSequence);11646--parseContext.loopNestingLevel;11647--parseContext.statementNestingLevel;11648--parseContext.controlFlowNestingLevel;11649}11650#line 11652 "MachineIndependent/glslang_tab.cpp"11651break;1165211653case 613: /* for_init_statement: expression_statement */11654#line 4018 "MachineIndependent/glslang.y"11655{11656(yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);11657}11658#line 11660 "MachineIndependent/glslang_tab.cpp"11659break;1166011661case 614: /* for_init_statement: declaration_statement */11662#line 4021 "MachineIndependent/glslang.y"11663{11664(yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);11665}11666#line 11668 "MachineIndependent/glslang_tab.cpp"11667break;1166811669case 615: /* conditionopt: condition */11670#line 4027 "MachineIndependent/glslang.y"11671{11672(yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode);11673}11674#line 11676 "MachineIndependent/glslang_tab.cpp"11675break;1167611677case 616: /* conditionopt: %empty */11678#line 4030 "MachineIndependent/glslang.y"11679{11680(yyval.interm.intermTypedNode) = 0;11681}11682#line 11684 "MachineIndependent/glslang_tab.cpp"11683break;1168411685case 617: /* for_rest_statement: conditionopt SEMICOLON */11686#line 4036 "MachineIndependent/glslang.y"11687{11688(yyval.interm.nodePair).node1 = (yyvsp[-1].interm.intermTypedNode);11689(yyval.interm.nodePair).node2 = 0;11690}11691#line 11693 "MachineIndependent/glslang_tab.cpp"11692break;1169311694case 618: /* for_rest_statement: conditionopt SEMICOLON expression */11695#line 4040 "MachineIndependent/glslang.y"11696{11697(yyval.interm.nodePair).node1 = (yyvsp[-2].interm.intermTypedNode);11698(yyval.interm.nodePair).node2 = (yyvsp[0].interm.intermTypedNode);11699}11700#line 11702 "MachineIndependent/glslang_tab.cpp"11701break;1170211703case 619: /* jump_statement: CONTINUE SEMICOLON */11704#line 4047 "MachineIndependent/glslang.y"11705{11706if (parseContext.loopNestingLevel <= 0)11707parseContext.error((yyvsp[-1].lex).loc, "continue statement only allowed in loops", "", "");11708(yyval.interm.intermNode) = parseContext.intermediate.addBranch(EOpContinue, (yyvsp[-1].lex).loc);11709}11710#line 11712 "MachineIndependent/glslang_tab.cpp"11711break;1171211713case 620: /* jump_statement: BREAK SEMICOLON */11714#line 4052 "MachineIndependent/glslang.y"11715{11716if (parseContext.loopNestingLevel + parseContext.switchSequenceStack.size() <= 0)11717parseContext.error((yyvsp[-1].lex).loc, "break statement only allowed in switch and loops", "", "");11718(yyval.interm.intermNode) = parseContext.intermediate.addBranch(EOpBreak, (yyvsp[-1].lex).loc);11719}11720#line 11722 "MachineIndependent/glslang_tab.cpp"11721break;1172211723case 621: /* jump_statement: RETURN SEMICOLON */11724#line 4057 "MachineIndependent/glslang.y"11725{11726(yyval.interm.intermNode) = parseContext.intermediate.addBranch(EOpReturn, (yyvsp[-1].lex).loc);11727if (parseContext.currentFunctionType->getBasicType() != EbtVoid)11728parseContext.error((yyvsp[-1].lex).loc, "non-void function must return a value", "return", "");11729if (parseContext.inMain)11730parseContext.postEntryPointReturn = true;11731}11732#line 11734 "MachineIndependent/glslang_tab.cpp"11733break;1173411735case 622: /* jump_statement: RETURN expression SEMICOLON */11736#line 4064 "MachineIndependent/glslang.y"11737{11738(yyval.interm.intermNode) = parseContext.handleReturnValue((yyvsp[-2].lex).loc, (yyvsp[-1].interm.intermTypedNode));11739}11740#line 11742 "MachineIndependent/glslang_tab.cpp"11741break;1174211743case 623: /* jump_statement: DISCARD SEMICOLON */11744#line 4067 "MachineIndependent/glslang.y"11745{11746parseContext.requireStage((yyvsp[-1].lex).loc, EShLangFragment, "discard");11747(yyval.interm.intermNode) = parseContext.intermediate.addBranch(EOpKill, (yyvsp[-1].lex).loc);11748}11749#line 11751 "MachineIndependent/glslang_tab.cpp"11750break;1175111752case 624: /* jump_statement: TERMINATE_INVOCATION SEMICOLON */11753#line 4071 "MachineIndependent/glslang.y"11754{11755parseContext.requireStage((yyvsp[-1].lex).loc, EShLangFragment, "terminateInvocation");11756(yyval.interm.intermNode) = parseContext.intermediate.addBranch(EOpTerminateInvocation, (yyvsp[-1].lex).loc);11757}11758#line 11760 "MachineIndependent/glslang_tab.cpp"11759break;1176011761case 625: /* jump_statement: TERMINATE_RAY SEMICOLON */11762#line 4075 "MachineIndependent/glslang.y"11763{11764parseContext.requireStage((yyvsp[-1].lex).loc, EShLangAnyHit, "terminateRayEXT");11765(yyval.interm.intermNode) = parseContext.intermediate.addBranch(EOpTerminateRayKHR, (yyvsp[-1].lex).loc);11766}11767#line 11769 "MachineIndependent/glslang_tab.cpp"11768break;1176911770case 626: /* jump_statement: IGNORE_INTERSECTION SEMICOLON */11771#line 4079 "MachineIndependent/glslang.y"11772{11773parseContext.requireStage((yyvsp[-1].lex).loc, EShLangAnyHit, "ignoreIntersectionEXT");11774(yyval.interm.intermNode) = parseContext.intermediate.addBranch(EOpIgnoreIntersectionKHR, (yyvsp[-1].lex).loc);11775}11776#line 11778 "MachineIndependent/glslang_tab.cpp"11777break;1177811779case 627: /* translation_unit: external_declaration */11780#line 4088 "MachineIndependent/glslang.y"11781{11782(yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);11783parseContext.intermediate.setTreeRoot((yyval.interm.intermNode));11784}11785#line 11787 "MachineIndependent/glslang_tab.cpp"11786break;1178711788case 628: /* translation_unit: translation_unit external_declaration */11789#line 4092 "MachineIndependent/glslang.y"11790{11791if ((yyvsp[0].interm.intermNode) != nullptr) {11792(yyval.interm.intermNode) = parseContext.intermediate.growAggregate((yyvsp[-1].interm.intermNode), (yyvsp[0].interm.intermNode));11793parseContext.intermediate.setTreeRoot((yyval.interm.intermNode));11794}11795}11796#line 11798 "MachineIndependent/glslang_tab.cpp"11797break;1179811799case 629: /* external_declaration: function_definition */11800#line 4101 "MachineIndependent/glslang.y"11801{11802(yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);11803}11804#line 11806 "MachineIndependent/glslang_tab.cpp"11805break;1180611807case 630: /* external_declaration: declaration */11808#line 4104 "MachineIndependent/glslang.y"11809{11810(yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);11811}11812#line 11814 "MachineIndependent/glslang_tab.cpp"11813break;1181411815case 631: /* external_declaration: SEMICOLON */11816#line 4107 "MachineIndependent/glslang.y"11817{11818parseContext.requireProfile((yyvsp[0].lex).loc, ~EEsProfile, "extraneous semicolon");11819parseContext.profileRequires((yyvsp[0].lex).loc, ~EEsProfile, 460, nullptr, "extraneous semicolon");11820(yyval.interm.intermNode) = nullptr;11821}11822#line 11824 "MachineIndependent/glslang_tab.cpp"11823break;1182411825case 632: /* $@13: %empty */11826#line 4115 "MachineIndependent/glslang.y"11827{11828(yyvsp[0].interm).function = parseContext.handleFunctionDeclarator((yyvsp[0].interm).loc, *(yyvsp[0].interm).function, false /* not prototype */);11829(yyvsp[0].interm).intermNode = parseContext.handleFunctionDefinition((yyvsp[0].interm).loc, *(yyvsp[0].interm).function);1183011831// For ES 100 only, according to ES shading language 100 spec: A function11832// body has a scope nested inside the function's definition.11833if (parseContext.profile == EEsProfile && parseContext.version == 100)11834{11835parseContext.symbolTable.push();11836++parseContext.statementNestingLevel;11837}11838}11839#line 11841 "MachineIndependent/glslang_tab.cpp"11840break;1184111842case 633: /* function_definition: function_prototype $@13 compound_statement_no_new_scope */11843#line 4127 "MachineIndependent/glslang.y"11844{11845// May be best done as post process phase on intermediate code11846if (parseContext.currentFunctionType->getBasicType() != EbtVoid && ! parseContext.functionReturnsValue)11847parseContext.error((yyvsp[-2].interm).loc, "function does not return a value:", "", (yyvsp[-2].interm).function->getName().c_str());11848parseContext.symbolTable.pop(&parseContext.defaultPrecision[0]);11849(yyval.interm.intermNode) = parseContext.intermediate.growAggregate((yyvsp[-2].interm).intermNode, (yyvsp[0].interm.intermNode));11850(yyval.interm.intermNode)->getAsAggregate()->setLinkType((yyvsp[-2].interm).function->getLinkType());11851parseContext.intermediate.setAggregateOperator((yyval.interm.intermNode), EOpFunction, (yyvsp[-2].interm).function->getType(), (yyvsp[-2].interm).loc);11852(yyval.interm.intermNode)->getAsAggregate()->setName((yyvsp[-2].interm).function->getMangledName().c_str());1185311854// store the pragma information for debug and optimize and other vendor specific11855// information. This information can be queried from the parse tree11856(yyval.interm.intermNode)->getAsAggregate()->setOptimize(parseContext.contextPragma.optimize);11857(yyval.interm.intermNode)->getAsAggregate()->setDebug(parseContext.contextPragma.debug);11858(yyval.interm.intermNode)->getAsAggregate()->setPragmaTable(parseContext.contextPragma.pragmaTable);1185911860// Set currentFunctionType to empty pointer when goes outside of the function11861parseContext.currentFunctionType = nullptr;1186211863// For ES 100 only, according to ES shading language 100 spec: A function11864// body has a scope nested inside the function's definition.11865if (parseContext.profile == EEsProfile && parseContext.version == 100)11866{11867parseContext.symbolTable.pop(&parseContext.defaultPrecision[0]);11868--parseContext.statementNestingLevel;11869}11870}11871#line 11873 "MachineIndependent/glslang_tab.cpp"11872break;1187311874case 634: /* attribute: LEFT_BRACKET LEFT_BRACKET attribute_list RIGHT_BRACKET RIGHT_BRACKET */11875#line 4157 "MachineIndependent/glslang.y"11876{11877(yyval.interm.attributes) = (yyvsp[-2].interm.attributes);11878}11879#line 11881 "MachineIndependent/glslang_tab.cpp"11880break;1188111882case 635: /* attribute_list: single_attribute */11883#line 4162 "MachineIndependent/glslang.y"11884{11885(yyval.interm.attributes) = (yyvsp[0].interm.attributes);11886}11887#line 11889 "MachineIndependent/glslang_tab.cpp"11888break;1188911890case 636: /* attribute_list: attribute_list COMMA single_attribute */11891#line 4165 "MachineIndependent/glslang.y"11892{11893(yyval.interm.attributes) = parseContext.mergeAttributes((yyvsp[-2].interm.attributes), (yyvsp[0].interm.attributes));11894}11895#line 11897 "MachineIndependent/glslang_tab.cpp"11896break;1189711898case 637: /* single_attribute: IDENTIFIER */11899#line 4170 "MachineIndependent/glslang.y"11900{11901(yyval.interm.attributes) = parseContext.makeAttributes(*(yyvsp[0].lex).string);11902}11903#line 11905 "MachineIndependent/glslang_tab.cpp"11904break;1190511906case 638: /* single_attribute: IDENTIFIER LEFT_PAREN constant_expression RIGHT_PAREN */11907#line 4173 "MachineIndependent/glslang.y"11908{11909(yyval.interm.attributes) = parseContext.makeAttributes(*(yyvsp[-3].lex).string, (yyvsp[-1].interm.intermTypedNode));11910}11911#line 11913 "MachineIndependent/glslang_tab.cpp"11912break;1191311914case 639: /* spirv_requirements_list: spirv_requirements_parameter */11915#line 4178 "MachineIndependent/glslang.y"11916{11917(yyval.interm.spirvReq) = (yyvsp[0].interm.spirvReq);11918}11919#line 11921 "MachineIndependent/glslang_tab.cpp"11920break;1192111922case 640: /* spirv_requirements_list: spirv_requirements_list COMMA spirv_requirements_parameter */11923#line 4181 "MachineIndependent/glslang.y"11924{11925(yyval.interm.spirvReq) = parseContext.mergeSpirvRequirements((yyvsp[-1].lex).loc, (yyvsp[-2].interm.spirvReq), (yyvsp[0].interm.spirvReq));11926}11927#line 11929 "MachineIndependent/glslang_tab.cpp"11928break;1192911930case 641: /* spirv_requirements_parameter: IDENTIFIER EQUAL LEFT_BRACKET spirv_extension_list RIGHT_BRACKET */11931#line 4186 "MachineIndependent/glslang.y"11932{11933(yyval.interm.spirvReq) = parseContext.makeSpirvRequirement((yyvsp[-3].lex).loc, *(yyvsp[-4].lex).string, (yyvsp[-1].interm.intermNode)->getAsAggregate(), nullptr);11934}11935#line 11937 "MachineIndependent/glslang_tab.cpp"11936break;1193711938case 642: /* spirv_requirements_parameter: IDENTIFIER EQUAL LEFT_BRACKET spirv_capability_list RIGHT_BRACKET */11939#line 4189 "MachineIndependent/glslang.y"11940{11941(yyval.interm.spirvReq) = parseContext.makeSpirvRequirement((yyvsp[-3].lex).loc, *(yyvsp[-4].lex).string, nullptr, (yyvsp[-1].interm.intermNode)->getAsAggregate());11942}11943#line 11945 "MachineIndependent/glslang_tab.cpp"11944break;1194511946case 643: /* spirv_extension_list: STRING_LITERAL */11947#line 4194 "MachineIndependent/glslang.y"11948{11949(yyval.interm.intermNode) = parseContext.intermediate.makeAggregate(parseContext.intermediate.addConstantUnion((yyvsp[0].lex).string, (yyvsp[0].lex).loc, true));11950}11951#line 11953 "MachineIndependent/glslang_tab.cpp"11952break;1195311954case 644: /* spirv_extension_list: spirv_extension_list COMMA STRING_LITERAL */11955#line 4197 "MachineIndependent/glslang.y"11956{11957(yyval.interm.intermNode) = parseContext.intermediate.growAggregate((yyvsp[-2].interm.intermNode), parseContext.intermediate.addConstantUnion((yyvsp[0].lex).string, (yyvsp[0].lex).loc, true));11958}11959#line 11961 "MachineIndependent/glslang_tab.cpp"11960break;1196111962case 645: /* spirv_capability_list: INTCONSTANT */11963#line 4202 "MachineIndependent/glslang.y"11964{11965(yyval.interm.intermNode) = parseContext.intermediate.makeAggregate(parseContext.intermediate.addConstantUnion((yyvsp[0].lex).i, (yyvsp[0].lex).loc, true));11966}11967#line 11969 "MachineIndependent/glslang_tab.cpp"11968break;1196911970case 646: /* spirv_capability_list: spirv_capability_list COMMA INTCONSTANT */11971#line 4205 "MachineIndependent/glslang.y"11972{11973(yyval.interm.intermNode) = parseContext.intermediate.growAggregate((yyvsp[-2].interm.intermNode), parseContext.intermediate.addConstantUnion((yyvsp[0].lex).i, (yyvsp[0].lex).loc, true));11974}11975#line 11977 "MachineIndependent/glslang_tab.cpp"11976break;1197711978case 647: /* spirv_execution_mode_qualifier: SPIRV_EXECUTION_MODE LEFT_PAREN INTCONSTANT RIGHT_PAREN */11979#line 4210 "MachineIndependent/glslang.y"11980{11981parseContext.intermediate.insertSpirvExecutionMode((yyvsp[-1].lex).i);11982(yyval.interm.intermNode) = 0;11983}11984#line 11986 "MachineIndependent/glslang_tab.cpp"11985break;1198611987case 648: /* spirv_execution_mode_qualifier: SPIRV_EXECUTION_MODE LEFT_PAREN spirv_requirements_list COMMA INTCONSTANT RIGHT_PAREN */11988#line 4214 "MachineIndependent/glslang.y"11989{11990parseContext.intermediate.insertSpirvRequirement((yyvsp[-3].interm.spirvReq));11991parseContext.intermediate.insertSpirvExecutionMode((yyvsp[-1].lex).i);11992(yyval.interm.intermNode) = 0;11993}11994#line 11996 "MachineIndependent/glslang_tab.cpp"11995break;1199611997case 649: /* spirv_execution_mode_qualifier: SPIRV_EXECUTION_MODE LEFT_PAREN INTCONSTANT COMMA spirv_execution_mode_parameter_list RIGHT_PAREN */11998#line 4219 "MachineIndependent/glslang.y"11999{12000parseContext.intermediate.insertSpirvExecutionMode((yyvsp[-3].lex).i, (yyvsp[-1].interm.intermNode)->getAsAggregate());12001(yyval.interm.intermNode) = 0;12002}12003#line 12005 "MachineIndependent/glslang_tab.cpp"12004break;1200512006case 650: /* spirv_execution_mode_qualifier: SPIRV_EXECUTION_MODE LEFT_PAREN spirv_requirements_list COMMA INTCONSTANT COMMA spirv_execution_mode_parameter_list RIGHT_PAREN */12007#line 4223 "MachineIndependent/glslang.y"12008{12009parseContext.intermediate.insertSpirvRequirement((yyvsp[-5].interm.spirvReq));12010parseContext.intermediate.insertSpirvExecutionMode((yyvsp[-3].lex).i, (yyvsp[-1].interm.intermNode)->getAsAggregate());12011(yyval.interm.intermNode) = 0;12012}12013#line 12015 "MachineIndependent/glslang_tab.cpp"12014break;1201512016case 651: /* spirv_execution_mode_qualifier: SPIRV_EXECUTION_MODE_ID LEFT_PAREN INTCONSTANT COMMA spirv_execution_mode_id_parameter_list RIGHT_PAREN */12017#line 4228 "MachineIndependent/glslang.y"12018{12019parseContext.intermediate.insertSpirvExecutionModeId((yyvsp[-3].lex).i, (yyvsp[-1].interm.intermNode)->getAsAggregate());12020(yyval.interm.intermNode) = 0;12021}12022#line 12024 "MachineIndependent/glslang_tab.cpp"12023break;1202412025case 652: /* spirv_execution_mode_qualifier: SPIRV_EXECUTION_MODE_ID LEFT_PAREN spirv_requirements_list COMMA INTCONSTANT COMMA spirv_execution_mode_id_parameter_list RIGHT_PAREN */12026#line 4232 "MachineIndependent/glslang.y"12027{12028parseContext.intermediate.insertSpirvRequirement((yyvsp[-5].interm.spirvReq));12029parseContext.intermediate.insertSpirvExecutionModeId((yyvsp[-3].lex).i, (yyvsp[-1].interm.intermNode)->getAsAggregate());12030(yyval.interm.intermNode) = 0;12031}12032#line 12034 "MachineIndependent/glslang_tab.cpp"12033break;1203412035case 653: /* spirv_execution_mode_parameter_list: spirv_execution_mode_parameter */12036#line 4239 "MachineIndependent/glslang.y"12037{12038(yyval.interm.intermNode) = parseContext.intermediate.makeAggregate((yyvsp[0].interm.intermNode));12039}12040#line 12042 "MachineIndependent/glslang_tab.cpp"12041break;1204212043case 654: /* spirv_execution_mode_parameter_list: spirv_execution_mode_parameter_list COMMA spirv_execution_mode_parameter */12044#line 4242 "MachineIndependent/glslang.y"12045{12046(yyval.interm.intermNode) = parseContext.intermediate.growAggregate((yyvsp[-2].interm.intermNode), (yyvsp[0].interm.intermNode));12047}12048#line 12050 "MachineIndependent/glslang_tab.cpp"12049break;1205012051case 655: /* spirv_execution_mode_parameter: FLOATCONSTANT */12052#line 4247 "MachineIndependent/glslang.y"12053{12054(yyval.interm.intermNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).d, EbtFloat, (yyvsp[0].lex).loc, true);12055}12056#line 12058 "MachineIndependent/glslang_tab.cpp"12057break;1205812059case 656: /* spirv_execution_mode_parameter: INTCONSTANT */12060#line 4250 "MachineIndependent/glslang.y"12061{12062(yyval.interm.intermNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).i, (yyvsp[0].lex).loc, true);12063}12064#line 12066 "MachineIndependent/glslang_tab.cpp"12065break;1206612067case 657: /* spirv_execution_mode_parameter: UINTCONSTANT */12068#line 4253 "MachineIndependent/glslang.y"12069{12070(yyval.interm.intermNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).u, (yyvsp[0].lex).loc, true);12071}12072#line 12074 "MachineIndependent/glslang_tab.cpp"12073break;1207412075case 658: /* spirv_execution_mode_parameter: BOOLCONSTANT */12076#line 4256 "MachineIndependent/glslang.y"12077{12078(yyval.interm.intermNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).b, (yyvsp[0].lex).loc, true);12079}12080#line 12082 "MachineIndependent/glslang_tab.cpp"12081break;1208212083case 659: /* spirv_execution_mode_parameter: STRING_LITERAL */12084#line 4259 "MachineIndependent/glslang.y"12085{12086(yyval.interm.intermNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).string, (yyvsp[0].lex).loc, true);12087}12088#line 12090 "MachineIndependent/glslang_tab.cpp"12089break;1209012091case 660: /* spirv_execution_mode_id_parameter_list: constant_expression */12092#line 4264 "MachineIndependent/glslang.y"12093{12094if ((yyvsp[0].interm.intermTypedNode)->getBasicType() != EbtFloat &&12095(yyvsp[0].interm.intermTypedNode)->getBasicType() != EbtInt &&12096(yyvsp[0].interm.intermTypedNode)->getBasicType() != EbtUint &&12097(yyvsp[0].interm.intermTypedNode)->getBasicType() != EbtBool &&12098(yyvsp[0].interm.intermTypedNode)->getBasicType() != EbtString)12099parseContext.error((yyvsp[0].interm.intermTypedNode)->getLoc(), "this type not allowed", (yyvsp[0].interm.intermTypedNode)->getType().getBasicString(), "");12100(yyval.interm.intermNode) = parseContext.intermediate.makeAggregate((yyvsp[0].interm.intermTypedNode));12101}12102#line 12104 "MachineIndependent/glslang_tab.cpp"12103break;1210412105case 661: /* spirv_execution_mode_id_parameter_list: spirv_execution_mode_id_parameter_list COMMA constant_expression */12106#line 4273 "MachineIndependent/glslang.y"12107{12108if ((yyvsp[0].interm.intermTypedNode)->getBasicType() != EbtFloat &&12109(yyvsp[0].interm.intermTypedNode)->getBasicType() != EbtInt &&12110(yyvsp[0].interm.intermTypedNode)->getBasicType() != EbtUint &&12111(yyvsp[0].interm.intermTypedNode)->getBasicType() != EbtBool &&12112(yyvsp[0].interm.intermTypedNode)->getBasicType() != EbtString)12113parseContext.error((yyvsp[0].interm.intermTypedNode)->getLoc(), "this type not allowed", (yyvsp[0].interm.intermTypedNode)->getType().getBasicString(), "");12114(yyval.interm.intermNode) = parseContext.intermediate.growAggregate((yyvsp[-2].interm.intermNode), (yyvsp[0].interm.intermTypedNode));12115}12116#line 12118 "MachineIndependent/glslang_tab.cpp"12117break;1211812119case 662: /* spirv_storage_class_qualifier: SPIRV_STORAGE_CLASS LEFT_PAREN INTCONSTANT RIGHT_PAREN */12120#line 4284 "MachineIndependent/glslang.y"12121{12122(yyval.interm.type).init((yyvsp[-3].lex).loc);12123(yyval.interm.type).qualifier.storage = EvqSpirvStorageClass;12124(yyval.interm.type).qualifier.spirvStorageClass = (yyvsp[-1].lex).i;12125}12126#line 12128 "MachineIndependent/glslang_tab.cpp"12127break;1212812129case 663: /* spirv_storage_class_qualifier: SPIRV_STORAGE_CLASS LEFT_PAREN spirv_requirements_list COMMA INTCONSTANT RIGHT_PAREN */12130#line 4289 "MachineIndependent/glslang.y"12131{12132(yyval.interm.type).init((yyvsp[-5].lex).loc);12133parseContext.intermediate.insertSpirvRequirement((yyvsp[-3].interm.spirvReq));12134(yyval.interm.type).qualifier.storage = EvqSpirvStorageClass;12135(yyval.interm.type).qualifier.spirvStorageClass = (yyvsp[-1].lex).i;12136}12137#line 12139 "MachineIndependent/glslang_tab.cpp"12138break;1213912140case 664: /* spirv_decorate_qualifier: SPIRV_DECORATE LEFT_PAREN INTCONSTANT RIGHT_PAREN */12141#line 4297 "MachineIndependent/glslang.y"12142{12143(yyval.interm.type).init((yyvsp[-3].lex).loc);12144(yyval.interm.type).qualifier.setSpirvDecorate((yyvsp[-1].lex).i);12145}12146#line 12148 "MachineIndependent/glslang_tab.cpp"12147break;1214812149case 665: /* spirv_decorate_qualifier: SPIRV_DECORATE LEFT_PAREN spirv_requirements_list COMMA INTCONSTANT RIGHT_PAREN */12150#line 4301 "MachineIndependent/glslang.y"12151{12152(yyval.interm.type).init((yyvsp[-5].lex).loc);12153parseContext.intermediate.insertSpirvRequirement((yyvsp[-3].interm.spirvReq));12154(yyval.interm.type).qualifier.setSpirvDecorate((yyvsp[-1].lex).i);12155}12156#line 12158 "MachineIndependent/glslang_tab.cpp"12157break;1215812159case 666: /* spirv_decorate_qualifier: SPIRV_DECORATE LEFT_PAREN INTCONSTANT COMMA spirv_decorate_parameter_list RIGHT_PAREN */12160#line 4306 "MachineIndependent/glslang.y"12161{12162(yyval.interm.type).init((yyvsp[-5].lex).loc);12163(yyval.interm.type).qualifier.setSpirvDecorate((yyvsp[-3].lex).i, (yyvsp[-1].interm.intermNode)->getAsAggregate());12164}12165#line 12167 "MachineIndependent/glslang_tab.cpp"12166break;1216712168case 667: /* spirv_decorate_qualifier: SPIRV_DECORATE LEFT_PAREN spirv_requirements_list COMMA INTCONSTANT COMMA spirv_decorate_parameter_list RIGHT_PAREN */12169#line 4310 "MachineIndependent/glslang.y"12170{12171(yyval.interm.type).init((yyvsp[-7].lex).loc);12172parseContext.intermediate.insertSpirvRequirement((yyvsp[-5].interm.spirvReq));12173(yyval.interm.type).qualifier.setSpirvDecorate((yyvsp[-3].lex).i, (yyvsp[-1].interm.intermNode)->getAsAggregate());12174}12175#line 12177 "MachineIndependent/glslang_tab.cpp"12176break;1217712178case 668: /* spirv_decorate_qualifier: SPIRV_DECORATE_ID LEFT_PAREN INTCONSTANT COMMA spirv_decorate_id_parameter_list RIGHT_PAREN */12179#line 4315 "MachineIndependent/glslang.y"12180{12181(yyval.interm.type).init((yyvsp[-5].lex).loc);12182(yyval.interm.type).qualifier.setSpirvDecorateId((yyvsp[-3].lex).i, (yyvsp[-1].interm.intermNode)->getAsAggregate());12183}12184#line 12186 "MachineIndependent/glslang_tab.cpp"12185break;1218612187case 669: /* spirv_decorate_qualifier: SPIRV_DECORATE_ID LEFT_PAREN spirv_requirements_list COMMA INTCONSTANT COMMA spirv_decorate_id_parameter_list RIGHT_PAREN */12188#line 4319 "MachineIndependent/glslang.y"12189{12190(yyval.interm.type).init((yyvsp[-7].lex).loc);12191parseContext.intermediate.insertSpirvRequirement((yyvsp[-5].interm.spirvReq));12192(yyval.interm.type).qualifier.setSpirvDecorateId((yyvsp[-3].lex).i, (yyvsp[-1].interm.intermNode)->getAsAggregate());12193}12194#line 12196 "MachineIndependent/glslang_tab.cpp"12195break;1219612197case 670: /* spirv_decorate_qualifier: SPIRV_DECORATE_STRING LEFT_PAREN INTCONSTANT COMMA spirv_decorate_string_parameter_list RIGHT_PAREN */12198#line 4324 "MachineIndependent/glslang.y"12199{12200(yyval.interm.type).init((yyvsp[-5].lex).loc);12201(yyval.interm.type).qualifier.setSpirvDecorateString((yyvsp[-3].lex).i, (yyvsp[-1].interm.intermNode)->getAsAggregate());12202}12203#line 12205 "MachineIndependent/glslang_tab.cpp"12204break;1220512206case 671: /* spirv_decorate_qualifier: SPIRV_DECORATE_STRING LEFT_PAREN spirv_requirements_list COMMA INTCONSTANT COMMA spirv_decorate_string_parameter_list RIGHT_PAREN */12207#line 4328 "MachineIndependent/glslang.y"12208{12209(yyval.interm.type).init((yyvsp[-7].lex).loc);12210parseContext.intermediate.insertSpirvRequirement((yyvsp[-5].interm.spirvReq));12211(yyval.interm.type).qualifier.setSpirvDecorateString((yyvsp[-3].lex).i, (yyvsp[-1].interm.intermNode)->getAsAggregate());12212}12213#line 12215 "MachineIndependent/glslang_tab.cpp"12214break;1221512216case 672: /* spirv_decorate_parameter_list: spirv_decorate_parameter */12217#line 4335 "MachineIndependent/glslang.y"12218{12219(yyval.interm.intermNode) = parseContext.intermediate.makeAggregate((yyvsp[0].interm.intermNode));12220}12221#line 12223 "MachineIndependent/glslang_tab.cpp"12222break;1222312224case 673: /* spirv_decorate_parameter_list: spirv_decorate_parameter_list COMMA spirv_decorate_parameter */12225#line 4338 "MachineIndependent/glslang.y"12226{12227(yyval.interm.intermNode) = parseContext.intermediate.growAggregate((yyvsp[-2].interm.intermNode), (yyvsp[0].interm.intermNode));12228}12229#line 12231 "MachineIndependent/glslang_tab.cpp"12230break;1223112232case 674: /* spirv_decorate_parameter: FLOATCONSTANT */12233#line 4343 "MachineIndependent/glslang.y"12234{12235(yyval.interm.intermNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).d, EbtFloat, (yyvsp[0].lex).loc, true);12236}12237#line 12239 "MachineIndependent/glslang_tab.cpp"12238break;1223912240case 675: /* spirv_decorate_parameter: INTCONSTANT */12241#line 4346 "MachineIndependent/glslang.y"12242{12243(yyval.interm.intermNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).i, (yyvsp[0].lex).loc, true);12244}12245#line 12247 "MachineIndependent/glslang_tab.cpp"12246break;1224712248case 676: /* spirv_decorate_parameter: UINTCONSTANT */12249#line 4349 "MachineIndependent/glslang.y"12250{12251(yyval.interm.intermNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).u, (yyvsp[0].lex).loc, true);12252}12253#line 12255 "MachineIndependent/glslang_tab.cpp"12254break;1225512256case 677: /* spirv_decorate_parameter: BOOLCONSTANT */12257#line 4352 "MachineIndependent/glslang.y"12258{12259(yyval.interm.intermNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).b, (yyvsp[0].lex).loc, true);12260}12261#line 12263 "MachineIndependent/glslang_tab.cpp"12262break;1226312264case 678: /* spirv_decorate_id_parameter_list: spirv_decorate_id_parameter */12265#line 4357 "MachineIndependent/glslang.y"12266{12267(yyval.interm.intermNode) = parseContext.intermediate.makeAggregate((yyvsp[0].interm.intermNode));12268}12269#line 12271 "MachineIndependent/glslang_tab.cpp"12270break;1227112272case 679: /* spirv_decorate_id_parameter_list: spirv_decorate_id_parameter_list COMMA spirv_decorate_id_parameter */12273#line 4360 "MachineIndependent/glslang.y"12274{12275(yyval.interm.intermNode) = parseContext.intermediate.growAggregate((yyvsp[-2].interm.intermNode), (yyvsp[0].interm.intermNode));12276}12277#line 12279 "MachineIndependent/glslang_tab.cpp"12278break;1227912280case 680: /* spirv_decorate_id_parameter: variable_identifier */12281#line 4365 "MachineIndependent/glslang.y"12282{12283if ((yyvsp[0].interm.intermTypedNode)->getAsConstantUnion() || (yyvsp[0].interm.intermTypedNode)->getAsSymbolNode())12284(yyval.interm.intermNode) = (yyvsp[0].interm.intermTypedNode);12285else12286parseContext.error((yyvsp[0].interm.intermTypedNode)->getLoc(), "only allow constants or variables which are not elements of a composite", "", "");12287}12288#line 12290 "MachineIndependent/glslang_tab.cpp"12289break;1229012291case 681: /* spirv_decorate_id_parameter: FLOATCONSTANT */12292#line 4371 "MachineIndependent/glslang.y"12293{12294(yyval.interm.intermNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).d, EbtFloat, (yyvsp[0].lex).loc, true);12295}12296#line 12298 "MachineIndependent/glslang_tab.cpp"12297break;1229812299case 682: /* spirv_decorate_id_parameter: INTCONSTANT */12300#line 4374 "MachineIndependent/glslang.y"12301{12302(yyval.interm.intermNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).i, (yyvsp[0].lex).loc, true);12303}12304#line 12306 "MachineIndependent/glslang_tab.cpp"12305break;1230612307case 683: /* spirv_decorate_id_parameter: UINTCONSTANT */12308#line 4377 "MachineIndependent/glslang.y"12309{12310(yyval.interm.intermNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).u, (yyvsp[0].lex).loc, true);12311}12312#line 12314 "MachineIndependent/glslang_tab.cpp"12313break;1231412315case 684: /* spirv_decorate_id_parameter: BOOLCONSTANT */12316#line 4380 "MachineIndependent/glslang.y"12317{12318(yyval.interm.intermNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).b, (yyvsp[0].lex).loc, true);12319}12320#line 12322 "MachineIndependent/glslang_tab.cpp"12321break;1232212323case 685: /* spirv_decorate_string_parameter_list: STRING_LITERAL */12324#line 4385 "MachineIndependent/glslang.y"12325{12326(yyval.interm.intermNode) = parseContext.intermediate.makeAggregate(12327parseContext.intermediate.addConstantUnion((yyvsp[0].lex).string, (yyvsp[0].lex).loc, true));12328}12329#line 12331 "MachineIndependent/glslang_tab.cpp"12330break;1233112332case 686: /* spirv_decorate_string_parameter_list: spirv_decorate_string_parameter_list COMMA STRING_LITERAL */12333#line 4389 "MachineIndependent/glslang.y"12334{12335(yyval.interm.intermNode) = parseContext.intermediate.growAggregate((yyvsp[-2].interm.intermNode), parseContext.intermediate.addConstantUnion((yyvsp[0].lex).string, (yyvsp[0].lex).loc, true));12336}12337#line 12339 "MachineIndependent/glslang_tab.cpp"12338break;1233912340case 687: /* spirv_type_specifier: SPIRV_TYPE LEFT_PAREN spirv_instruction_qualifier_list COMMA spirv_type_parameter_list RIGHT_PAREN */12341#line 4394 "MachineIndependent/glslang.y"12342{12343(yyval.interm.type).init((yyvsp[-5].lex).loc, parseContext.symbolTable.atGlobalLevel());12344(yyval.interm.type).setSpirvType(*(yyvsp[-3].interm.spirvInst), (yyvsp[-1].interm.spirvTypeParams));12345}12346#line 12348 "MachineIndependent/glslang_tab.cpp"12347break;1234812349case 688: /* spirv_type_specifier: SPIRV_TYPE LEFT_PAREN spirv_requirements_list COMMA spirv_instruction_qualifier_list COMMA spirv_type_parameter_list RIGHT_PAREN */12350#line 4398 "MachineIndependent/glslang.y"12351{12352(yyval.interm.type).init((yyvsp[-7].lex).loc, parseContext.symbolTable.atGlobalLevel());12353parseContext.intermediate.insertSpirvRequirement((yyvsp[-5].interm.spirvReq));12354(yyval.interm.type).setSpirvType(*(yyvsp[-3].interm.spirvInst), (yyvsp[-1].interm.spirvTypeParams));12355}12356#line 12358 "MachineIndependent/glslang_tab.cpp"12357break;1235812359case 689: /* spirv_type_specifier: SPIRV_TYPE LEFT_PAREN spirv_instruction_qualifier_list RIGHT_PAREN */12360#line 4403 "MachineIndependent/glslang.y"12361{12362(yyval.interm.type).init((yyvsp[-3].lex).loc, parseContext.symbolTable.atGlobalLevel());12363(yyval.interm.type).setSpirvType(*(yyvsp[-1].interm.spirvInst));12364}12365#line 12367 "MachineIndependent/glslang_tab.cpp"12366break;1236712368case 690: /* spirv_type_specifier: SPIRV_TYPE LEFT_PAREN spirv_requirements_list COMMA spirv_instruction_qualifier_list RIGHT_PAREN */12369#line 4407 "MachineIndependent/glslang.y"12370{12371(yyval.interm.type).init((yyvsp[-5].lex).loc, parseContext.symbolTable.atGlobalLevel());12372parseContext.intermediate.insertSpirvRequirement((yyvsp[-3].interm.spirvReq));12373(yyval.interm.type).setSpirvType(*(yyvsp[-1].interm.spirvInst));12374}12375#line 12377 "MachineIndependent/glslang_tab.cpp"12376break;1237712378case 691: /* spirv_type_parameter_list: spirv_type_parameter */12379#line 4414 "MachineIndependent/glslang.y"12380{12381(yyval.interm.spirvTypeParams) = (yyvsp[0].interm.spirvTypeParams);12382}12383#line 12385 "MachineIndependent/glslang_tab.cpp"12384break;1238512386case 692: /* spirv_type_parameter_list: spirv_type_parameter_list COMMA spirv_type_parameter */12387#line 4417 "MachineIndependent/glslang.y"12388{12389(yyval.interm.spirvTypeParams) = parseContext.mergeSpirvTypeParameters((yyvsp[-2].interm.spirvTypeParams), (yyvsp[0].interm.spirvTypeParams));12390}12391#line 12393 "MachineIndependent/glslang_tab.cpp"12392break;1239312394case 693: /* spirv_type_parameter: constant_expression */12395#line 4422 "MachineIndependent/glslang.y"12396{12397(yyval.interm.spirvTypeParams) = parseContext.makeSpirvTypeParameters((yyvsp[0].interm.intermTypedNode)->getLoc(), (yyvsp[0].interm.intermTypedNode)->getAsConstantUnion());12398}12399#line 12401 "MachineIndependent/glslang_tab.cpp"12400break;1240112402case 694: /* spirv_type_parameter: type_specifier_nonarray */12403#line 4425 "MachineIndependent/glslang.y"12404{12405(yyval.interm.spirvTypeParams) = parseContext.makeSpirvTypeParameters((yyvsp[0].interm.type).loc, (yyvsp[0].interm.type));12406}12407#line 12409 "MachineIndependent/glslang_tab.cpp"12408break;1240912410case 695: /* spirv_instruction_qualifier: SPIRV_INSTRUCTION LEFT_PAREN spirv_instruction_qualifier_list RIGHT_PAREN */12411#line 4430 "MachineIndependent/glslang.y"12412{12413(yyval.interm.spirvInst) = (yyvsp[-1].interm.spirvInst);12414}12415#line 12417 "MachineIndependent/glslang_tab.cpp"12416break;1241712418case 696: /* spirv_instruction_qualifier: SPIRV_INSTRUCTION LEFT_PAREN spirv_requirements_list COMMA spirv_instruction_qualifier_list RIGHT_PAREN */12419#line 4433 "MachineIndependent/glslang.y"12420{12421parseContext.intermediate.insertSpirvRequirement((yyvsp[-3].interm.spirvReq));12422(yyval.interm.spirvInst) = (yyvsp[-1].interm.spirvInst);12423}12424#line 12426 "MachineIndependent/glslang_tab.cpp"12425break;1242612427case 697: /* spirv_instruction_qualifier_list: spirv_instruction_qualifier_id */12428#line 4439 "MachineIndependent/glslang.y"12429{12430(yyval.interm.spirvInst) = (yyvsp[0].interm.spirvInst);12431}12432#line 12434 "MachineIndependent/glslang_tab.cpp"12433break;1243412435case 698: /* spirv_instruction_qualifier_list: spirv_instruction_qualifier_list COMMA spirv_instruction_qualifier_id */12436#line 4442 "MachineIndependent/glslang.y"12437{12438(yyval.interm.spirvInst) = parseContext.mergeSpirvInstruction((yyvsp[-1].lex).loc, (yyvsp[-2].interm.spirvInst), (yyvsp[0].interm.spirvInst));12439}12440#line 12442 "MachineIndependent/glslang_tab.cpp"12441break;1244212443case 699: /* spirv_instruction_qualifier_id: IDENTIFIER EQUAL STRING_LITERAL */12444#line 4447 "MachineIndependent/glslang.y"12445{12446(yyval.interm.spirvInst) = parseContext.makeSpirvInstruction((yyvsp[-1].lex).loc, *(yyvsp[-2].lex).string, *(yyvsp[0].lex).string);12447}12448#line 12450 "MachineIndependent/glslang_tab.cpp"12449break;1245012451case 700: /* spirv_instruction_qualifier_id: IDENTIFIER EQUAL INTCONSTANT */12452#line 4450 "MachineIndependent/glslang.y"12453{12454(yyval.interm.spirvInst) = parseContext.makeSpirvInstruction((yyvsp[-1].lex).loc, *(yyvsp[-2].lex).string, (yyvsp[0].lex).i);12455}12456#line 12458 "MachineIndependent/glslang_tab.cpp"12457break;124581245912460#line 12462 "MachineIndependent/glslang_tab.cpp"1246112462default: break;12463}12464/* User semantic actions sometimes alter yychar, and that requires12465that yytoken be updated with the new translation. We take the12466approach of translating immediately before every use of yytoken.12467One alternative is translating here after every semantic action,12468but that translation would be missed if the semantic action invokes12469YYABORT, YYACCEPT, or YYERROR immediately after altering yychar or12470if it invokes YYBACKUP. In the case of YYABORT or YYACCEPT, an12471incorrect destructor might then be invoked immediately. In the12472case of YYERROR or YYBACKUP, subsequent parser actions might lead12473to an incorrect destructor call or verbose syntax error message12474before the lookahead is translated. */12475YY_SYMBOL_PRINT ("-> $$ =", YY_CAST (yysymbol_kind_t, yyr1[yyn]), &yyval, &yyloc);1247612477YYPOPSTACK (yylen);12478yylen = 0;1247912480*++yyvsp = yyval;1248112482/* Now 'shift' the result of the reduction. Determine what state12483that goes to, based on the state we popped back to and the rule12484number reduced by. */12485{12486const int yylhs = yyr1[yyn] - YYNTOKENS;12487const int yyi = yypgoto[yylhs] + *yyssp;12488yystate = (0 <= yyi && yyi <= YYLAST && yycheck[yyi] == *yyssp12489? yytable[yyi]12490: yydefgoto[yylhs]);12491}1249212493goto yynewstate;124941249512496/*--------------------------------------.12497| yyerrlab -- here on detecting error. |12498`--------------------------------------*/12499yyerrlab:12500/* Make sure we have latest lookahead translation. See comments at12501user semantic actions for why this is necessary. */12502yytoken = yychar == YYEMPTY ? YYSYMBOL_YYEMPTY : YYTRANSLATE (yychar);12503/* If not already recovering from an error, report this error. */12504if (!yyerrstatus)12505{12506++yynerrs;12507{12508yypcontext_t yyctx12509= {yyssp, yytoken};12510char const *yymsgp = YY_("syntax error");12511int yysyntax_error_status;12512yysyntax_error_status = yysyntax_error (&yymsg_alloc, &yymsg, &yyctx);12513if (yysyntax_error_status == 0)12514yymsgp = yymsg;12515else if (yysyntax_error_status == -1)12516{12517if (yymsg != yymsgbuf)12518YYSTACK_FREE (yymsg);12519yymsg = YY_CAST (char *,12520YYSTACK_ALLOC (YY_CAST (YYSIZE_T, yymsg_alloc)));12521if (yymsg)12522{12523yysyntax_error_status12524= yysyntax_error (&yymsg_alloc, &yymsg, &yyctx);12525yymsgp = yymsg;12526}12527else12528{12529yymsg = yymsgbuf;12530yymsg_alloc = sizeof yymsgbuf;12531yysyntax_error_status = YYENOMEM;12532}12533}12534yyerror (pParseContext, yymsgp);12535if (yysyntax_error_status == YYENOMEM)12536YYNOMEM;12537}12538}1253912540if (yyerrstatus == 3)12541{12542/* If just tried and failed to reuse lookahead token after an12543error, discard it. */1254412545if (yychar <= YYEOF)12546{12547/* Return failure if at end of input. */12548if (yychar == YYEOF)12549YYABORT;12550}12551else12552{12553yydestruct ("Error: discarding",12554yytoken, &yylval, pParseContext);12555yychar = YYEMPTY;12556}12557}1255812559/* Else will try to reuse lookahead token after shifting the error12560token. */12561goto yyerrlab1;125621256312564/*---------------------------------------------------.12565| yyerrorlab -- error raised explicitly by YYERROR. |12566`---------------------------------------------------*/12567yyerrorlab:12568/* Pacify compilers when the user code never invokes YYERROR and the12569label yyerrorlab therefore never appears in user code. */12570if (0)12571YYERROR;12572++yynerrs;1257312574/* Do not reclaim the symbols of the rule whose action triggered12575this YYERROR. */12576YYPOPSTACK (yylen);12577yylen = 0;12578YY_STACK_PRINT (yyss, yyssp);12579yystate = *yyssp;12580goto yyerrlab1;125811258212583/*-------------------------------------------------------------.12584| yyerrlab1 -- common code for both syntax error and YYERROR. |12585`-------------------------------------------------------------*/12586yyerrlab1:12587yyerrstatus = 3; /* Each real token shifted decrements this. */1258812589/* Pop stack until we find a state that shifts the error token. */12590for (;;)12591{12592yyn = yypact[yystate];12593if (!yypact_value_is_default (yyn))12594{12595yyn += YYSYMBOL_YYerror;12596if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror)12597{12598yyn = yytable[yyn];12599if (0 < yyn)12600break;12601}12602}1260312604/* Pop the current state because it cannot handle the error token. */12605if (yyssp == yyss)12606YYABORT;126071260812609yydestruct ("Error: popping",12610YY_ACCESSING_SYMBOL (yystate), yyvsp, pParseContext);12611YYPOPSTACK (1);12612yystate = *yyssp;12613YY_STACK_PRINT (yyss, yyssp);12614}1261512616YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN12617*++yyvsp = yylval;12618YY_IGNORE_MAYBE_UNINITIALIZED_END126191262012621/* Shift the error token. */12622YY_SYMBOL_PRINT ("Shifting", YY_ACCESSING_SYMBOL (yyn), yyvsp, yylsp);1262312624yystate = yyn;12625goto yynewstate;126261262712628/*-------------------------------------.12629| yyacceptlab -- YYACCEPT comes here. |12630`-------------------------------------*/12631yyacceptlab:12632yyresult = 0;12633goto yyreturnlab;126341263512636/*-----------------------------------.12637| yyabortlab -- YYABORT comes here. |12638`-----------------------------------*/12639yyabortlab:12640yyresult = 1;12641goto yyreturnlab;126421264312644/*-----------------------------------------------------------.12645| yyexhaustedlab -- YYNOMEM (memory exhaustion) comes here. |12646`-----------------------------------------------------------*/12647yyexhaustedlab:12648yyerror (pParseContext, YY_("memory exhausted"));12649yyresult = 2;12650goto yyreturnlab;126511265212653/*----------------------------------------------------------.12654| yyreturnlab -- parsing is finished, clean up and return. |12655`----------------------------------------------------------*/12656yyreturnlab:12657if (yychar != YYEMPTY)12658{12659/* Make sure we have latest lookahead translation. See comments at12660user semantic actions for why this is necessary. */12661yytoken = YYTRANSLATE (yychar);12662yydestruct ("Cleanup: discarding lookahead",12663yytoken, &yylval, pParseContext);12664}12665/* Do not reclaim the symbols of the rule whose action triggered12666this YYABORT or YYACCEPT. */12667YYPOPSTACK (yylen);12668YY_STACK_PRINT (yyss, yyssp);12669while (yyssp != yyss)12670{12671yydestruct ("Cleanup: popping",12672YY_ACCESSING_SYMBOL (+*yyssp), yyvsp, pParseContext);12673YYPOPSTACK (1);12674}12675#ifndef yyoverflow12676if (yyss != yyssa)12677YYSTACK_FREE (yyss);12678#endif12679if (yymsg != yymsgbuf)12680YYSTACK_FREE (yymsg);12681return yyresult;12682}1268312684#line 4454 "MachineIndependent/glslang.y"12685126861268712688