Commit abe96578 by Shahbaz Youssefi Committed by Commit Bot

Vulkan: I/O blocks: Support unsized arrays

Geometry shader inputs have an extra array dimension, which can be unsized as it can be derived from the primitive type. This change fixes the grammar to support such arrays. Additionally, it enables EXT_shader_io_blocks automatically with EXT_geometry_shader and EXT_tessellation_shader per spec. Bug: angleproject:3580 Change-Id: Ia7eb3e8be28c2eef2072dbe2a546fa34973104ab Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2568242Reviewed-by: 's avatarShahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: 's avatarMohan Maiya <m.maiya@samsung.com> Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
parent ec0acf64
...@@ -53,7 +53,7 @@ enum class BlockType ...@@ -53,7 +53,7 @@ enum class BlockType
BLOCK_BUFFER, BLOCK_BUFFER,
// TODO: Remove gl_in from interface blocks and place it in varyings with the rest of shader I/O // TODO: Remove gl_in from interface blocks and place it in varyings with the rest of shader I/O
// blocks, then remove GetInBlocks and getInBlocks everywhere. http://anglebug.com/NNNN // blocks, then remove GetInBlocks and getInBlocks everywhere. http://anglebug.com/5423
BLOCK_IN BLOCK_IN
}; };
......
...@@ -6,11 +6,11 @@ ...@@ -6,11 +6,11 @@
"src/compiler/translator/glslang.l": "src/compiler/translator/glslang.l":
"a04170178bdc8511bff69ec4ff144576", "a04170178bdc8511bff69ec4ff144576",
"src/compiler/translator/glslang.y": "src/compiler/translator/glslang.y":
"d614cbc19923d104c98e3a5f8770b5be", "1c7a2f4fa0f62ebc42f855bb8a8deeaf",
"src/compiler/translator/glslang_lex_autogen.cpp": "src/compiler/translator/glslang_lex_autogen.cpp":
"5d6469e58f9855f93987b5ddbd663920", "5d6469e58f9855f93987b5ddbd663920",
"src/compiler/translator/glslang_tab_autogen.cpp": "src/compiler/translator/glslang_tab_autogen.cpp":
"a93ca4c95c635f4154e41586911d0182", "821a6cccd98a7d89666bfb3fabee3585",
"src/compiler/translator/glslang_tab_autogen.h": "src/compiler/translator/glslang_tab_autogen.h":
"840c12db9f7824afd05b5306c8816d95", "840c12db9f7824afd05b5306c8816d95",
"tools/flex-bison/linux/bison.sha1": "tools/flex-bison/linux/bison.sha1":
......
...@@ -1097,8 +1097,14 @@ inline bool IsShaderIoBlock(TQualifier qualifier) ...@@ -1097,8 +1097,14 @@ inline bool IsShaderIoBlock(TQualifier qualifier)
{ {
switch (qualifier) switch (qualifier)
{ {
case EvqFragmentIn:
case EvqVertexOut: case EvqVertexOut:
case EvqTessControlIn:
case EvqTessControlOut:
case EvqTessEvaluationIn:
case EvqTessEvaluationOut:
case EvqGeometryIn:
case EvqGeometryOut:
case EvqFragmentIn:
return true; return true;
default: default:
return false; return false;
......
...@@ -167,12 +167,22 @@ void TDirectiveHandler::handleExtension(const angle::pp::SourceLocation &loc, ...@@ -167,12 +167,22 @@ void TDirectiveHandler::handleExtension(const angle::pp::SourceLocation &loc,
// OVR_multiview is implicitly enabled when OVR_multiview2 is enabled // OVR_multiview is implicitly enabled when OVR_multiview2 is enabled
if (name == "GL_OVR_multiview2") if (name == "GL_OVR_multiview2")
{ {
const std::string multiview = "GL_OVR_multiview"; constexpr char kMultiviewExtName[] = "GL_OVR_multiview";
TExtensionBehavior::iterator iterMultiview = iter = mExtensionBehavior.find(GetExtensionByName(kMultiviewExtName));
mExtensionBehavior.find(GetExtensionByName(multiview.c_str())); if (iter != mExtensionBehavior.end())
if (iterMultiview != mExtensionBehavior.end()) {
iter->second = behaviorVal;
}
}
// EXT_shader_io_blocks is implicitly enabled when EXT_geometry_shader or
// EXT_tessellation_shader is enabled.
if (name == "GL_EXT_geometry_shader" || name == "GL_EXT_tessellation_shader")
{
constexpr char kIOBlocksExtName[] = "GL_EXT_shader_io_blocks";
iter = mExtensionBehavior.find(GetExtensionByName(kIOBlocksExtName));
if (iter != mExtensionBehavior.end())
{ {
iterMultiview->second = behaviorVal; iter->second = behaviorVal;
} }
} }
return; return;
......
...@@ -240,6 +240,7 @@ TParseContext::TParseContext(TSymbolTable &symt, ...@@ -240,6 +240,7 @@ TParseContext::TParseContext(TSymbolTable &symt,
mGeometryShaderMaxVertices(-1), mGeometryShaderMaxVertices(-1),
mMaxGeometryShaderInvocations(resources.MaxGeometryShaderInvocations), mMaxGeometryShaderInvocations(resources.MaxGeometryShaderInvocations),
mMaxGeometryShaderMaxVertices(resources.MaxGeometryOutputVertices), mMaxGeometryShaderMaxVertices(resources.MaxGeometryOutputVertices),
mGeometryInputArraySize(0),
mFunctionBodyNewScope(false), mFunctionBodyNewScope(false),
mOutputType(outputType) mOutputType(outputType)
{} {}
...@@ -3071,6 +3072,7 @@ void TParseContext::setGeometryShaderInputArraySize(unsigned int inputArraySize, ...@@ -3071,6 +3072,7 @@ void TParseContext::setGeometryShaderInputArraySize(unsigned int inputArraySize,
"array inputs.", "array inputs.",
"layout"); "layout");
} }
mGeometryInputArraySize = inputArraySize;
} }
bool TParseContext::parseGeometryShaderInputLayoutQualifier(const TTypeQualifier &typeQualifier) bool TParseContext::parseGeometryShaderInputLayoutQualifier(const TTypeQualifier &typeQualifier)
...@@ -3837,13 +3839,17 @@ TIntermDeclaration *TParseContext::addInterfaceBlock( ...@@ -3837,13 +3839,17 @@ TIntermDeclaration *TParseContext::addInterfaceBlock(
TFieldList *fieldList, TFieldList *fieldList,
const ImmutableString &instanceName, const ImmutableString &instanceName,
const TSourceLoc &instanceLine, const TSourceLoc &instanceLine,
TIntermTyped *arrayIndex, const TVector<unsigned int> *arraySizes,
const TSourceLoc &arrayIndexLine) const TSourceLoc &arraySizesLine)
{ {
checkIsNotReserved(nameLine, blockName); checkIsNotReserved(nameLine, blockName);
TTypeQualifier typeQualifier = typeQualifierBuilder.getVariableTypeQualifier(mDiagnostics); TTypeQualifier typeQualifier = typeQualifierBuilder.getVariableTypeQualifier(mDiagnostics);
const bool isUniformOrBuffer =
typeQualifier.qualifier == EvqUniform || typeQualifier.qualifier == EvqBuffer;
const bool isShaderIoBlock = IsShaderIoBlock(typeQualifier.qualifier);
if (mShaderVersion < 310 && typeQualifier.qualifier != EvqUniform) if (mShaderVersion < 310 && typeQualifier.qualifier != EvqUniform)
{ {
error(typeQualifier.line, error(typeQualifier.line,
...@@ -3853,7 +3859,7 @@ TIntermDeclaration *TParseContext::addInterfaceBlock( ...@@ -3853,7 +3859,7 @@ TIntermDeclaration *TParseContext::addInterfaceBlock(
} }
else if (typeQualifier.qualifier != EvqUniform && typeQualifier.qualifier != EvqBuffer) else if (typeQualifier.qualifier != EvqUniform && typeQualifier.qualifier != EvqBuffer)
{ {
if (IsShaderIoBlock(typeQualifier.qualifier)) if (isShaderIoBlock)
{ {
if (!isExtensionEnabled(TExtension::OES_shader_io_blocks) && if (!isExtensionEnabled(TExtension::OES_shader_io_blocks) &&
!isExtensionEnabled(TExtension::EXT_shader_io_blocks)) !isExtensionEnabled(TExtension::EXT_shader_io_blocks))
...@@ -3881,11 +3887,52 @@ TIntermDeclaration *TParseContext::addInterfaceBlock( ...@@ -3881,11 +3887,52 @@ TIntermDeclaration *TParseContext::addInterfaceBlock(
checkMemoryQualifierIsNotSpecified(typeQualifier.memoryQualifier, typeQualifier.line); checkMemoryQualifierIsNotSpecified(typeQualifier.memoryQualifier, typeQualifier.line);
} }
// add array index // Verify array sizes
unsigned int arraySize = 0; if (arraySizes)
if (arrayIndex != nullptr) {
if (isUniformOrBuffer)
{
if (arraySizes->size() == 0)
{
error(arraySizesLine, "unsized arrays are not allowed with interface blocks", "");
}
if (arraySizes->size() > 1)
{
error(arraySizesLine, "array of arrays are not allowed with interface blocks", "");
}
}
else if (isShaderIoBlock)
{
size_t arrayDimensions = arraySizes->size();
// Geometry shader inputs have a level arrayness that must be ignored.
if (mShaderType == GL_GEOMETRY_SHADER_EXT && IsVaryingIn(typeQualifier.qualifier))
{
ASSERT(arrayDimensions > 0);
--arrayDimensions;
// Validate that the array size of input matches the geometry layout
// declaration, if not automatic (specified as []).
const unsigned int geometryDim = arraySizes->back();
if (geometryDim > 0 && geometryDim != mGeometryInputArraySize)
{
error(arraySizesLine,
"geometry shader input block array size inconsistent "
"with primitive",
"");
}
}
if (arrayDimensions > 1)
{ {
arraySize = checkIsValidArraySize(arrayIndexLine, arrayIndex); error(arraySizesLine, "array of arrays are not allowed with I/O blocks", "");
}
}
}
else if (isShaderIoBlock && mShaderType == GL_GEOMETRY_SHADER_EXT &&
IsVaryingIn(typeQualifier.qualifier))
{
error(arraySizesLine, "geometry shader input blocks must be an array", "");
} }
checkIndexIsNotSpecified(typeQualifier.line, typeQualifier.layoutQualifier.index); checkIndexIsNotSpecified(typeQualifier.line, typeQualifier.layoutQualifier.index);
...@@ -3896,6 +3943,8 @@ TIntermDeclaration *TParseContext::addInterfaceBlock( ...@@ -3896,6 +3943,8 @@ TIntermDeclaration *TParseContext::addInterfaceBlock(
} }
else else
{ {
unsigned int arraySize =
arraySizes == nullptr || arraySizes->empty() ? 0 : (*arraySizes)[0];
checkBlockBindingIsValid(typeQualifier.line, typeQualifier.qualifier, checkBlockBindingIsValid(typeQualifier.line, typeQualifier.qualifier,
typeQualifier.layoutQualifier.binding, arraySize); typeQualifier.layoutQualifier.binding, arraySize);
} }
...@@ -4066,9 +4115,9 @@ TIntermDeclaration *TParseContext::addInterfaceBlock( ...@@ -4066,9 +4115,9 @@ TIntermDeclaration *TParseContext::addInterfaceBlock(
TType *interfaceBlockType = TType *interfaceBlockType =
new TType(interfaceBlock, typeQualifier.qualifier, blockLayoutQualifier); new TType(interfaceBlock, typeQualifier.qualifier, blockLayoutQualifier);
if (arrayIndex != nullptr) if (arraySizes)
{ {
interfaceBlockType->makeArray(arraySize); interfaceBlockType->makeArrays(*arraySizes);
} }
// The instance variable gets created to refer to the interface block type from the AST // The instance variable gets created to refer to the interface block type from the AST
...@@ -4240,8 +4289,12 @@ TIntermTyped *TParseContext::addIndexExpression(TIntermTyped *baseExpression, ...@@ -4240,8 +4289,12 @@ TIntermTyped *TParseContext::addIndexExpression(TIntermTyped *baseExpression,
"["); "[");
break; break;
default: default:
// It's ok for shader I/O blocks to be dynamically indexed
if (!IsShaderIoBlock(baseExpression->getQualifier()))
{
// We can reach here only in error cases. // We can reach here only in error cases.
ASSERT(mDiagnostics->numErrors() > 0); ASSERT(mDiagnostics->numErrors() > 0);
}
break; break;
} }
} }
......
...@@ -358,8 +358,8 @@ class TParseContext : angle::NonCopyable ...@@ -358,8 +358,8 @@ class TParseContext : angle::NonCopyable
TFieldList *fieldList, TFieldList *fieldList,
const ImmutableString &instanceName, const ImmutableString &instanceName,
const TSourceLoc &instanceLine, const TSourceLoc &instanceLine,
TIntermTyped *arrayIndex, const TVector<unsigned int> *arraySizes,
const TSourceLoc &arrayIndexLine); const TSourceLoc &arraySizesLine);
void parseLocalSize(const ImmutableString &qualifierType, void parseLocalSize(const ImmutableString &qualifierType,
const TSourceLoc &qualifierTypeLine, const TSourceLoc &qualifierTypeLine,
...@@ -674,6 +674,7 @@ class TParseContext : angle::NonCopyable ...@@ -674,6 +674,7 @@ class TParseContext : angle::NonCopyable
int mGeometryShaderMaxVertices; int mGeometryShaderMaxVertices;
int mMaxGeometryShaderInvocations; int mMaxGeometryShaderInvocations;
int mMaxGeometryShaderMaxVertices; int mMaxGeometryShaderMaxVertices;
unsigned int mGeometryInputArraySize;
// Track when we add new scope for func body in ESSL 1.00 spec // Track when we add new scope for func body in ESSL 1.00 spec
bool mFunctionBodyNewScope; bool mFunctionBodyNewScope;
......
...@@ -618,9 +618,9 @@ declaration ...@@ -618,9 +618,9 @@ declaration
ES3_OR_NEWER(ImmutableString($2.string), @1, "interface blocks"); ES3_OR_NEWER(ImmutableString($2.string), @1, "interface blocks");
$$ = context->addInterfaceBlock(*$1, @2, ImmutableString($2.string), $3, ImmutableString($5.string), @5, NULL, @$); $$ = context->addInterfaceBlock(*$1, @2, ImmutableString($2.string), $3, ImmutableString($5.string), @5, NULL, @$);
} }
| type_qualifier enter_struct struct_declaration_list RIGHT_BRACE IDENTIFIER LEFT_BRACKET constant_expression RIGHT_BRACKET SEMICOLON { | type_qualifier enter_struct struct_declaration_list RIGHT_BRACE IDENTIFIER array_specifier SEMICOLON {
ES3_OR_NEWER(ImmutableString($2.string), @1, "interface blocks"); ES3_OR_NEWER(ImmutableString($2.string), @1, "interface blocks");
$$ = context->addInterfaceBlock(*$1, @2, ImmutableString($2.string), $3, ImmutableString($5.string), @5, $7, @6); $$ = context->addInterfaceBlock(*$1, @2, ImmutableString($2.string), $3, ImmutableString($5.string), @5, $6, @6);
} }
| type_qualifier SEMICOLON { | type_qualifier SEMICOLON {
context->parseGlobalLayoutQualifier(*$1); context->parseGlobalLayoutQualifier(*$1);
......
...@@ -696,7 +696,7 @@ union yyalloc ...@@ -696,7 +696,7 @@ union yyalloc
/* YYFINAL -- State number of the termination state. */ /* YYFINAL -- State number of the termination state. */
#define YYFINAL 164 #define YYFINAL 164
/* YYLAST -- Last index in YYTABLE. */ /* YYLAST -- Last index in YYTABLE. */
#define YYLAST 3501 #define YYLAST 3500
/* YYNTOKENS -- Number of terminals. */ /* YYNTOKENS -- Number of terminals. */
#define YYNTOKENS 182 #define YYNTOKENS 182
...@@ -705,7 +705,7 @@ union yyalloc ...@@ -705,7 +705,7 @@ union yyalloc
/* YYNRULES -- Number of rules. */ /* YYNRULES -- Number of rules. */
#define YYNRULES 326 #define YYNRULES 326
/* YYNSTATES -- Number of states. */ /* YYNSTATES -- Number of states. */
#define YYNSTATES 452 #define YYNSTATES 450
#define YYUNDEFTOK 2 #define YYUNDEFTOK 2
#define YYMAXUTOK 436 #define YYMAXUTOK 436
...@@ -1067,9 +1067,9 @@ static const yytype_uint16 yytoknum[] = { ...@@ -1067,9 +1067,9 @@ static const yytype_uint16 yytoknum[] = {
426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436}; 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436};
#endif #endif
#define YYPACT_NINF -392 #define YYPACT_NINF -393
#define yypact_value_is_default(Yystate) (!!((Yystate) == (-392))) #define yypact_value_is_default(Yystate) (!!((Yystate) == (-393)))
#define YYTABLE_NINF -286 #define YYTABLE_NINF -286
...@@ -1078,35 +1078,35 @@ static const yytype_uint16 yytoknum[] = { ...@@ -1078,35 +1078,35 @@ static const yytype_uint16 yytoknum[] = {
/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
STATE-NUM. */ STATE-NUM. */
static const yytype_int16 yypact[] = { static const yytype_int16 yypact[] = {
2999, -392, -392, -392, -392, -392, 126, -392, -392, -392, -392, -392, -392, -392, -392, -392, 2998, -393, -393, -393, -393, -393, 135, -393, -393, -393, -393, -393, -393, -393, -393, -393,
-392, -392, -392, -392, -392, -392, -392, -392, -392, -392, -392, -392, -392, -392, -392, -392, -393, -393, -393, -393, -393, -393, -393, -393, -393, -393, -393, -393, -393, -393, -393, -393,
-392, -392, -392, -392, -392, -392, -392, -392, -392, -392, -392, -392, -392, -392, -392, -392, -393, -393, -393, -393, -393, -393, -393, -393, -393, -393, -393, -393, -393, -393, -393, -393,
-392, -392, -392, -392, -85, -392, -392, -392, -392, -392, -392, -392, -392, -392, -392, -392, -393, -393, -393, -393, -108, -393, -393, -393, -393, -393, -393, -393, -393, -393, -393, -393,
-392, -392, -392, -392, -392, -392, -392, -392, -392, -392, -392, -392, -392, -392, -392, -392, -393, -393, -393, -393, -393, -393, -393, -393, -393, -393, -393, -393, -393, -393, -393, -393,
-392, -392, -392, -392, -392, -392, -392, -392, -392, -392, -392, -392, -392, -392, -392, -392, -393, -393, -393, -393, -393, -393, -393, -393, -393, -393, -393, -393, -393, -393, -393, -393,
-392, -392, -392, -392, -392, -392, -392, -392, -392, -392, -392, -392, -392, -392, -392, -392, -393, -393, -393, -393, -393, -393, -393, -393, -393, -393, -393, -393, -393, -393, -393, -393,
-132, -392, -392, -392, -93, -122, -99, 3128, -127, -392, -2, -392, 1586, -392, -392, -392, -63, -393, -393, -393, -56, -60, -31, 3127, -61, -393, -66, -393, 1585, -393, -393, -393,
-392, -392, -392, -392, -392, -61, -392, 2870, -392, -392, 3370, -392, -392, -392, -58, -49, -393, -393, -393, -393, -393, -46, -393, 2869, -393, -393, 3369, -393, -393, -393, -17, -47,
-392, -28, -392, 3128, -392, -392, -392, 3128, 12, 12, -392, -73, -131, -119, -392, 3128, -393, -14, -393, 3127, -393, -393, -393, 3127, -9, -9, -393, 6, -119, -80, -393, 3127,
-392, -392, 1708, -24, -392, -392, -29, 3128, -392, -392, -22, -104, -392, 436, -392, -392, -393, -393, 1707, 5, -393, -393, -2, 3127, -393, -393, 1, -74, -393, 435, -393, -393,
-392, -392, -61, -102, -392, 2158, -81, -392, -392, 3128, 12, 2456, -392, -392, -8, -392, -393, -393, -46, -98, -393, 2157, -87, -393, -393, 3127, -9, 2455, -393, -393, 11, -393,
-392, -392, -392, -392, 2158, 2158, 2158, -392, -392, -392, -392, -392, -392, -392, -86, -392, -393, -393, -393, -393, 2157, 2157, 2157, -393, -393, -393, -393, -393, -393, -393, -111, -393,
-392, -392, -7, -77, 2306, 21, -392, 2158, -13, -75, 17, -114, 20, 2, -21, -6, -393, -393, 12, -73, 2305, 16, -393, 2157, -21, -132, -6, -116, -15, -8, -3, -1,
33, 39, -125, -392, 27, -392, 1859, -392, 2594, 3128, 32, -392, -49, 22, 23, -392, 25, 31, -125, -393, 18, -393, 1858, -393, 2593, 3127, 3, -393, -47, 13, 20, -393,
34, 35, 26, 2010, 37, 2158, 30, 40, 36, -392, -392, 116, -392, -392, -62, -392, 22, 24, 32, 2009, 28, 2157, 35, 45, 44, -393, -393, 42, -393, -393, -57, -393,
-93, 42, -392, -392, -392, -392, 606, -392, -392, -392, -392, -392, -392, -24, 2158, -80, -56, 48, -393, -393, -393, -393, 605, -393, -393, -393, -393, -393, -393, 5, 2157, -86,
-392, -392, 2158, 12, -61, -55, -392, -108, -392, -392, -392, -76, -392, -392, 2158, 3249, -393, -393, 2157, -9, -46, -55, -393, -110, -393, -393, -393, -72, -393, -393, 2157, 3248,
-392, -392, 2158, 38, -392, -392, -392, 2158, 2158, 2158, 2158, 2158, 2158, 2158, 2158, 2158, -393, -393, 2157, 49, -393, -393, -393, 2157, 2157, 2157, 2157, 2157, 2157, 2157, 2157, 2157,
2158, 2158, 2158, 2158, 2158, 2158, 2158, 2158, 2158, 2158, 2158, -392, -392, 44, -392, 2732, 2157, 2157, 2157, 2157, 2157, 2157, 2157, 2157, 2157, 2157, 2157, -393, -393, 51, -393, 2731,
-392, -392, -392, -392, -392, 41, -392, 2158, -392, -392, -54, 2158, 60, -392, -392, -392, -393, -393, -393, -393, -393, 52, -393, 2157, -393, -393, -45, 2157, 47, -393, -393, -393,
776, -392, -392, -392, -392, -392, -392, -392, -392, -392, -392, -392, 2158, 2158, -392, -392, 775, -393, -393, -393, -393, -393, -393, -393, -393, -393, -393, -393, 2157, 2157, -393, -393,
-392, -392, 2158, -392, -38, -24, 12, -392, -137, -392, -392, 66, 63, -392, 43, -392, -393, -393, 2157, -393, -38, 5, -9, -393, -129, -393, -393, 54, 53, -393, 58, -393,
-392, -392, -392, -392, -13, -13, -75, -75, 17, 17, 17, 17, -114, -114, 20, 2, -393, -393, -393, -393, -21, -21, -132, -132, -6, -6, -6, -6, -116, -116, -15, -8,
-21, -6, 33, 39, 3, -392, -392, 162, -28, 1116, 1286, -69, -392, -67, -392, 1436, -3, -1, 25, 31, -10, -393, -393, 143, -14, 1115, 1285, -69, -393, -62, -393, 1435,
776, -392, -392, -392, -392, -392, 2158, -392, -392, 2158, 72, -392, -392, -392, -392, 1436, 775, -393, -393, -393, -393, -393, -393, -123, -393, 2157, 61, -393, -393, -393, -393, 1435,
41, -392, 63, 12, 3128, 75, 68, 74, -392, 2158, -392, 69, 77, 220, -392, 78, 52, -393, 53, -9, 3127, 62, 57, -393, -393, 2157, -393, 55, 63, 206, -393, 64,
76, 946, -392, 71, -65, 2158, 946, 41, -392, 2158, -392, -392, -392, -392, 79, 63, 67, 945, -393, -59, 2157, 945, 52, -393, 2157, -393, -393, -393, 60, 53, -393, -393,
-392, -392, -392, -392}; -393, -393};
/* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM. /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
Performed when YYTABLE does not specify something else to do. Zero Performed when YYTABLE does not specify something else to do. Zero
...@@ -1133,18 +1133,18 @@ static const yytype_uint16 yydefact[] = { ...@@ -1133,18 +1133,18 @@ static const yytype_uint16 yydefact[] = {
81, 82, 83, 84, 79, 74, 0, 0, 294, 290, 292, 114, 0, 118, 0, 267, 0, 262, 0, 81, 82, 83, 84, 79, 74, 0, 0, 294, 290, 292, 114, 0, 118, 0, 267, 0, 262, 0,
92, 11, 0, 18, 30, 15, 21, 27, 41, 42, 43, 46, 45, 48, 49, 53, 54, 51, 52, 92, 11, 0, 18, 30, 15, 21, 27, 41, 42, 43, 46, 45, 48, 49, 53, 54, 51, 52,
56, 57, 59, 61, 63, 65, 67, 69, 0, 168, 257, 0, 0, 0, 0, 0, 319, 0, 300, 56, 57, 59, 61, 63, 65, 67, 69, 0, 168, 257, 0, 0, 0, 0, 0, 319, 0, 300,
0, 281, 73, 86, 113, 263, 265, 0, 93, 13, 0, 0, 286, 288, 311, 310, 313, 287, 298, 0, 281, 73, 86, 113, 263, 265, 93, 0, 13, 0, 0, 286, 288, 311, 310, 313, 287, 298,
302, 0, 0, 0, 0, 0, 71, 0, 312, 0, 0, 297, 295, 0, 0, 0, 282, 0, 0, 302, 0, 0, 0, 0, 94, 71, 0, 312, 0, 0, 297, 295, 0, 0, 0, 282, 0, 314,
314, 0, 287, 299, 0, 284, 305, 283, 94, 0, 315, 309, 296, 303, 307}; 0, 287, 299, 0, 284, 305, 283, 0, 315, 309, 296, 303, 307};
/* YYPGOTO[NTERM-NUM]. */ /* YYPGOTO[NTERM-NUM]. */
static const yytype_int16 yypgoto[] = { static const yytype_int16 yypgoto[] = {
-392, -51, -392, -392, -392, -392, -392, -392, -45, -392, -392, -392, -392, -89, -392, -128, -393, -51, -393, -393, -393, -393, -393, -393, -58, -393, -393, -393, -393, 43, -393, -141,
-126, -182, -130, -63, -60, -64, -57, -59, -56, -392, -154, -165, -392, -174, -225, -392, -140, -227, -144, -83, -79, -75, -70, -81, -77, -393, -151, -165, -393, -188, -179, -393,
11, 14, -392, -392, -392, 97, 108, 105, -392, -392, -364, -392, -115, -392, -392, -118, 14, 15, -393, -393, -393, 87, 95, 92, -393, -393, -372, -393, -115, -393, -393, -118,
-392, -117, 252, -392, -392, 24, 0, -139, -392, -392, -392, -392, -149, -175, -16, -97, -393, -117, 239, -393, -393, 10, 0, -143, -393, -393, -393, -393, -149, -175, -28, -109,
-261, -120, -252, -374, -156, -392, -392, -161, -391, -392, -392, -142, -50, -116, -392, -392, -265, -139, -254, -374, -180, -393, -393, -185, -392, -393, -393, -142, -82, -138, -393, -393,
-392, -392, -392, -136, -392, -392, -392, -392, -392, -392, -392, -392, -392, 145, -392, -392}; -393, -393, -393, -162, -393, -393, -393, -393, -393, -393, -393, -393, -393, 122, -393, -393};
/* YYDEFGOTO[NTERM-NUM]. */ /* YYDEFGOTO[NTERM-NUM]. */
static const yytype_int16 yydefgoto[] = { static const yytype_int16 yydefgoto[] = {
...@@ -1152,46 +1152,37 @@ static const yytype_int16 yydefgoto[] = { ...@@ -1152,46 +1152,37 @@ static const yytype_int16 yydefgoto[] = {
217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 252, 253, 348, 254, 228, 159, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 252, 253, 348, 254, 228, 159,
255, 256, 117, 118, 119, 148, 149, 150, 120, 121, 122, 123, 124, 125, 126, 127, 255, 256, 117, 118, 119, 148, 149, 150, 120, 121, 122, 123, 124, 125, 126, 127,
128, 129, 130, 131, 171, 172, 229, 163, 133, 134, 233, 167, 187, 188, 277, 278, 128, 129, 130, 131, 171, 172, 229, 163, 133, 134, 233, 167, 187, 188, 277, 278,
273, 258, 259, 260, 261, 336, 422, 443, 391, 392, 393, 444, 262, 263, 264, 430, 273, 258, 259, 260, 261, 336, 422, 442, 391, 392, 393, 443, 262, 263, 264, 430,
265, 431, 266, 421, 267, 399, 325, 394, 415, 427, 428, 268, 135, 136, 137, 145}; 265, 431, 266, 421, 267, 399, 325, 394, 415, 427, 428, 268, 135, 136, 137, 145};
/* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If
positive, shift that token. If negative, reduce the rule whose positive, shift that token. If negative, reduce the rule whose
number is the opposite. If YYTABLE_NINF, syntax error. */ number is the opposite. If YYTABLE_NINF, syntax error. */
static const yytype_int16 yytable[] = { static const yytype_int16 yytable[] = {
132, 142, 152, 174, 151, 317, 160, 161, 227, 353, 352, 115, 280, 355, 116, 169, 272, 182, 232, 132, 142, 152, 174, 151, 353, 160, 161, 352, 355, 283, 227, 280, 182, 115, 116, 272, 169, 232,
412, 332, 313, 360, 406, 283, 429, 143, 302, 303, 162, 152, 407, 151, 160, 152, 419, 181, 146, 412, 360, 313, 139, 140, 429, 302, 303, 419, 284, 285, 152, 162, 151, 160, 152, 269, 271, 230,
153, 269, 271, 154, 186, 183, 185, 139, 140, 292, 449, 184, 186, 419, 185, 284, 285, 235, 314, 298, 406, 299, 162, 186, 419, 185, 423, 447, 292, 181, 286, 186, 317, 185, 287, 141, 330, 314,
280, 162, 442, 361, 236, 304, 305, 442, 270, 147, 160, 275, 330, 186, 156, 185, 214, 286, 144, 280, 361, 441, 304, 305, 162, 441, 155, 140, 332, 160, 275, 270, 186, 156, 185, 230, 230, 376,
227, 141, 287, 230, 230, 170, 289, 362, 319, 180, 274, 354, 290, 349, 416, 227, 417, 403, 446, 377, 378, 379, 227, 274, 354, 183, 170, 319, 235, 289, 362, 184, 403, 416, 236, 290, 349, 227,
298, 349, 299, 349, 162, 349, 178, 179, 349, 168, 272, 350, 281, 282, 272, 358, 349, 364, 359, 143, 349, 417, 364, 146, 444, 178, 179, 349, 153, 272, 349, 154, 349, 272, 358, 350, 144, 359,
396, 186, 186, 185, 185, 132, 376, 377, 378, 379, 132, 368, 294, 358, 155, 140, 404, 3, 4, 162, 186, 186, 185, 185, 132, 349, 139, 140, 396, 132, 368, 388, 358, 306, 307, 404, 300, 301,
5, 173, 132, 230, 357, 166, 231, 388, 214, 139, 140, 280, 234, 115, 132, 352, 116, -30, 132, 357, 147, 132, 320, 321, 166, 395, 3, 4, 5, 397, 280, 168, 352, 132, 173, 115, 116, 132,
288, 395, 300, 301, 214, 397, 309, 132, 295, 296, 297, 306, 307, 320, 321, 132, 349, 409, 372, 295, 296, 297, 349, 409, 372, 373, 132, 374, 375, 380, 381, 180, 230, 231, 132, 234, -30, 311,
373, 310, 257, 374, 375, 380, 381, 311, 293, 450, 423, 308, 401, 402, 132, 312, 132, 315, 272, 288, 308, 257, 293, 448, 309, 310, 312, 315, 326, 323, 327, 401, 402, 132, 331, 132, 324, 272,
323, 324, 326, 327, 328, 331, 333, -24, 334, 335, -29, -31, 186, -285, 185, 389, 369, 370, 371, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 328, 333, 186, 334, 185, 214, -29, 335, -24,
214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 418, 398, 408, 347, 410, 418, 389, 398, -285, 408, -31, 407, 349, 425, 434, 433, 437, 436, 438, 382, 248, 418,
349, 410, 425, 434, 132, 132, 433, 435, 438, 437, 439, 445, 248, 418, 367, 441, 424, 382, 384, 449, 367, 383, 386, 132, 132, 440, 384, 387, 435, 176, 281, 282, 385, 175, 177, 424, 138, 322,
451, 176, 383, 411, 436, 227, 386, 385, 175, 177, 387, 138, 356, 322, 405, 257, 447, 337, 338, 356, 445, 405, 411, 439, 446, 426, 400, 413, 414, 165, 294, 0, 0, 0, 257, 0, 0, 0,
339, 340, 341, 342, 343, 344, 345, 346, 413, 440, 272, 448, 414, 426, 165, 0, 0, 347, 420, 0, 0, 0, 0, 0, 0, 0, 214, 0, 272, 0, 0, 0, 0, 0, 0, 0, 0, 420,
0, 400, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 420, 0, 160, 161, 0, 0, 0, 214, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 420, 0, 160, 161,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 214, 0, 132, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 132, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 257, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 257, 0, 369, 370, 371, 214,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 432, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 432, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 257, 257, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 257, 257, 0, 0, 0, 0,
257, 257, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 257, 0, 0, 257, 257, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 257, 0, 0,
0, 0, 132, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 257, 0, 0, 0, 0, 0, 132, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 257, 0, 0, 0,
0, 257, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 237, 238, 239, 0, 240, 257, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 237, 238, 239, 0, 240, 241,
241, 242, 243, 244, 245, 246, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
45, 46, 47, 48, 49, 50, 51, 52, 53, 247, 54, 55, 56, 57, 58, 59, 60, 61, 62,
63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 0, 74, 75, 76, 77, 78, 79, 80,
81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99,
100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 189, 190, 114, 191, 192,
193, 194, 195, 0, 0, 196, 197, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 198, 0, 0, 0, 248, 249, 0, 0, 0, 0, 250, 200, 201, 202,
203, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 237, 238, 239, 0, 240, 241,
242, 243, 244, 245, 246, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 242, 243, 244, 245, 246, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
46, 47, 48, 49, 50, 51, 52, 53, 247, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 46, 47, 48, 49, 50, 51, 52, 53, 247, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
...@@ -1199,7 +1190,7 @@ static const yytype_int16 yytable[] = { ...@@ -1199,7 +1190,7 @@ static const yytype_int16 yytable[] = {
82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100,
101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 189, 190, 114, 191, 192, 193, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 189, 190, 114, 191, 192, 193,
194, 195, 0, 0, 196, 197, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 194, 195, 0, 0, 196, 197, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 198, 0, 0, 0, 248, 351, 0, 0, 0, 0, 250, 200, 201, 202, 203, 0, 0, 0, 0, 198, 0, 0, 0, 248, 249, 0, 0, 0, 0, 250, 200, 201, 202, 203,
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 237, 238, 239, 0, 240, 241, 242, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 237, 238, 239, 0, 240, 241, 242,
243, 244, 245, 246, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 243, 244, 245, 246, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
...@@ -1208,7 +1199,7 @@ static const yytype_int16 yytable[] = { ...@@ -1208,7 +1199,7 @@ static const yytype_int16 yytable[] = {
83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101,
102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 189, 190, 114, 191, 192, 193, 194, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 189, 190, 114, 191, 192, 193, 194,
195, 0, 0, 196, 197, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 195, 0, 0, 196, 197, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 198, 0, 0, 0, 248, 0, 0, 0, 0, 0, 250, 200, 201, 202, 203, 1, 0, 0, 0, 198, 0, 0, 0, 248, 351, 0, 0, 0, 0, 250, 200, 201, 202, 203, 1,
2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 237, 238, 239, 0, 240, 241, 242, 243, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 237, 238, 239, 0, 240, 241, 242, 243,
244, 245, 246, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 244, 245, 246, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
...@@ -1217,7 +1208,7 @@ static const yytype_int16 yytable[] = { ...@@ -1217,7 +1208,7 @@ static const yytype_int16 yytable[] = {
84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102,
103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 189, 190, 114, 191, 192, 193, 194, 195, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 189, 190, 114, 191, 192, 193, 194, 195,
0, 0, 196, 197, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 196, 197, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 198, 0, 0, 0, 173, 0, 0, 0, 0, 0, 250, 200, 201, 202, 203, 1, 2, 0, 0, 198, 0, 0, 0, 248, 0, 0, 0, 0, 0, 250, 200, 201, 202, 203, 1, 2,
3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 237, 238, 239, 0, 240, 241, 242, 243, 244, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 237, 238, 239, 0, 240, 241, 242, 243, 244,
245, 246, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 245, 246, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
...@@ -1226,46 +1217,47 @@ static const yytype_int16 yytable[] = { ...@@ -1226,46 +1217,47 @@ static const yytype_int16 yytable[] = {
85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103,
104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 189, 190, 114, 191, 192, 193, 194, 195, 0, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 189, 190, 114, 191, 192, 193, 194, 195, 0,
0, 196, 197, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 196, 197, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 198, 0, 0, 0, 0, 0, 0, 0, 0, 0, 250, 200, 201, 202, 203, 1, 2, 3, 0, 198, 0, 0, 0, 173, 0, 0, 0, 0, 0, 250, 200, 201, 202, 203, 1, 2, 3,
4, 5, 6, 7, 8, 9, 10, 11, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 5, 6, 7, 8, 9, 10, 11, 12, 237, 238, 239, 0, 240, 241, 242, 243, 244, 245,
0, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 246, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
50, 51, 52, 53, 0, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 50, 51, 52, 53, 247, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67,
68, 69, 70, 71, 72, 73, 0, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 68, 69, 70, 71, 72, 73, 0, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85,
86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
105, 106, 107, 108, 109, 110, 111, 112, 113, 189, 190, 114, 191, 192, 193, 194, 195, 0, 0, 105, 106, 107, 108, 109, 110, 111, 112, 113, 189, 190, 114, 191, 192, 193, 194, 195, 0, 0,
196, 197, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 5, 196, 197, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
198, 7, 8, 9, 10, 11, 12, 0, 0, 0, 250, 200, 201, 202, 203, 0, 0, 0, 13, 198, 0, 0, 0, 0, 0, 0, 0, 0, 0, 250, 200, 201, 202, 203, 1, 2, 3, 4,
14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 5, 6, 7, 8, 9, 10, 11, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
52, 53, 0, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
70, 71, 72, 73, 0, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 51, 52, 53, 0, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68,
88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 69, 70, 71, 72, 73, 0, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86,
107, 108, 109, 110, 111, 112, 113, 189, 190, 114, 191, 192, 193, 194, 195, 0, 0, 196, 197, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 5, 198, 7, 106, 107, 108, 109, 110, 111, 112, 113, 189, 190, 114, 191, 192, 193, 194, 195, 0, 0, 196,
8, 9, 10, 11, 12, 0, 0, 0, 0, 200, 201, 202, 203, 0, 0, 0, 13, 14, 15, 197, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 5, 198,
16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 7, 8, 9, 10, 11, 12, 0, 0, 0, 250, 200, 201, 202, 203, 0, 0, 0, 13, 14,
35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
0, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
72, 73, 0, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 53, 0, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70,
90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 71, 72, 73, 0, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88,
109, 110, 111, 112, 113, 0, 157, 114, 0, 9, 10, 11, 12, 0, 0, 0, 0, 0, 0, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107,
0, 0, 0, 0, 0, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 108, 109, 110, 111, 112, 113, 189, 190, 114, 191, 192, 193, 194, 195, 0, 0, 196, 197, 0,
27, 0, 0, 0, 0, 0, 158, 34, 35, 36, 37, 38, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 5, 198, 7, 8,
0, 0, 0, 0, 0, 0, 52, 53, 0, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 9, 10, 11, 12, 0, 0, 0, 0, 200, 201, 202, 203, 0, 0, 0, 13, 14, 15, 16,
64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 0, 74, 75, 76, 77, 78, 79, 80, 81, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 0,
101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 0, 113, 189, 190, 114, 191, 192, 193, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
194, 195, 0, 0, 196, 197, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 73, 0, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90,
0, 0, 0, 0, 198, 0, 0, 199, 9, 10, 11, 12, 0, 0, 0, 200, 201, 202, 203, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
110, 111, 112, 113, 0, 157, 114, 0, 9, 10, 11, 12, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 0, 0, 0, 0, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
0, 0, 0, 0, 0, 0, 34, 35, 36, 37, 38, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 158, 34, 35, 36, 37, 38, 39, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 52, 53, 0, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 0, 0, 0, 0, 0, 52, 53, 0, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
65, 66, 67, 68, 69, 70, 71, 72, 73, 0, 74, 75, 76, 77, 78, 79, 80, 81, 82, 65, 66, 67, 68, 69, 70, 71, 72, 73, 0, 74, 75, 76, 77, 78, 79, 80, 81, 82,
83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101,
102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 0, 113, 189, 190, 114, 191, 192, 193, 194, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 0, 113, 189, 190, 114, 191, 192, 193, 194,
195, 0, 0, 196, 197, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 195, 0, 0, 196, 197, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 198, 0, 0, 316, 9, 10, 11, 12, 0, 0, 0, 200, 201, 202, 203, 0, 0, 0, 0, 198, 0, 0, 199, 9, 10, 11, 12, 0, 0, 0, 200, 201, 202, 203, 0,
0, 0, 0, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 0, 0, 0, 0, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 0,
0, 0, 0, 0, 0, 34, 35, 36, 37, 38, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 35, 36, 37, 38, 39, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 52, 53, 0, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 0, 0, 0, 0, 52, 53, 0, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
...@@ -1273,112 +1265,111 @@ static const yytype_int16 yytable[] = { ...@@ -1273,112 +1265,111 @@ static const yytype_int16 yytable[] = {
84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102,
103, 104, 105, 106, 107, 108, 109, 110, 111, 0, 113, 189, 190, 114, 191, 192, 193, 194, 195, 103, 104, 105, 106, 107, 108, 109, 110, 111, 0, 113, 189, 190, 114, 191, 192, 193, 194, 195,
0, 0, 196, 197, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 196, 197, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 198, 9, 10, 11, 12, 0, 0, 0, 0, 0, 329, 200, 201, 202, 203, 0, 13, 0, 0, 198, 0, 0, 316, 9, 10, 11, 12, 0, 0, 0, 200, 201, 202, 203, 0, 0,
14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 0, 0, 0, 0, 0, 0, 0, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 0, 0,
0, 34, 35, 36, 37, 38, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 35, 36, 37, 38, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0,
52, 53, 0, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 0, 0, 0, 52, 53, 0, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
70, 71, 72, 73, 0, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 67, 68, 69, 70, 71, 72, 73, 0, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103,
107, 108, 109, 110, 111, 0, 113, 189, 190, 114, 191, 192, 193, 194, 195, 0, 0, 196, 197, 104, 105, 106, 107, 108, 109, 110, 111, 0, 113, 189, 190, 114, 191, 192, 193, 194, 195, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 198, 9, 0, 196, 197, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
10, 11, 12, 0, 0, 0, 0, 0, 0, 200, 201, 202, 203, 0, 13, 14, 15, 16, 17, 0, 198, 9, 10, 11, 12, 0, 0, 0, 0, 0, 329, 200, 201, 202, 203, 0, 13, 14,
18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 0, 0, 0, 0, 0, 0, 34, 35, 36, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 0, 0, 0, 0, 0, 0,
37, 38, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 291, 0, 54, 34, 35, 36, 37, 38, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52,
55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
0, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91,
92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
111, 0, 113, 189, 190, 114, 191, 192, 193, 194, 195, 0, 0, 196, 197, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 5, 198, 7, 8, 9, 10, 11,
12, 0, 0, 0, 0, 200, 201, 202, 203, 0, 0, 0, 13, 14, 15, 16, 17, 18, 19,
20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 0, 54, 55, 56,
57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 0, 74,
75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93,
94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
113, 0, 0, 114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 5, 0,
7, 8, 9, 10, 11, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 279, 13, 14,
15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
53, 0, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 53, 0, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70,
71, 72, 73, 0, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 71, 72, 73, 0, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88,
89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107,
108, 109, 110, 111, 112, 113, 0, 0, 114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 108, 109, 110, 111, 0, 113, 189, 190, 114, 191, 192, 193, 194, 195, 0, 0, 196, 197, 0,
2, 3, 4, 5, 0, 7, 8, 9, 10, 11, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 198, 9, 10,
0, 0, 318, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 11, 12, 0, 0, 0, 0, 0, 0, 200, 201, 202, 203, 0, 13, 14, 15, 16, 17, 18,
19, 20, 21, 22, 23, 24, 25, 26, 27, 0, 0, 0, 0, 0, 0, 34, 35, 36, 37,
38, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 291, 0, 54, 55,
56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 0,
74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92,
93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
0, 113, 189, 190, 114, 191, 192, 193, 194, 195, 0, 0, 196, 197, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 5, 198, 7, 8, 9, 10, 11, 12,
0, 0, 0, 0, 200, 201, 202, 203, 0, 0, 0, 13, 14, 15, 16, 17, 18, 19, 20,
21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 0, 54, 55, 56, 57,
58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 0, 74, 75,
76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
0, 0, 114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 5, 0, 7,
8, 9, 10, 11, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 279, 13, 14, 15,
16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
0, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
72, 73, 0, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89,
90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
109, 110, 111, 112, 113, 0, 0, 114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2,
3, 4, 5, 0, 7, 8, 9, 10, 11, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 318, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
49, 50, 51, 52, 53, 0, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
67, 68, 69, 70, 71, 72, 73, 0, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103,
104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 0, 0, 114, 0, 0, 0, 0, 0, 0,
164, 0, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 390, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 0, 54, 55, 56, 57, 58, 59, 60, 61,
62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 0, 74, 75, 76, 77, 78, 79,
80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 0, 0, 114, 1,
2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
48, 49, 50, 51, 52, 53, 0, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 48, 49, 50, 51, 52, 53, 0, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
66, 67, 68, 69, 70, 71, 72, 73, 0, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 66, 67, 68, 69, 70, 71, 72, 73, 0, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102,
103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 0, 0, 114, 0, 0, 0, 0, 0, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 0, 0, 114, 1, 2, 3, 4, 5,
0, 164, 0, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 0, 0, 0, 0, 7, 8, 9, 10, 11, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13,
0, 0, 0, 0, 0, 0, 0, 390, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 0, 54, 55, 56, 57, 58, 59, 60, 52, 53, 0, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 0, 74, 75, 76, 77, 78, 70, 71, 72, 73, 0, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87,
79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106,
98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 0, 0, 114, 107, 108, 109, 110, 111, 112, 113, 0, 0, 114, 9, 10, 11, 12, 0, 0, 0, 0, 0,
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
0, 0, 0, 0, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 26, 27, 0, 0, 0, 0, 0, 0, 34, 35, 36, 37, 38, 39, 0, 0, 0, 0, 0,
28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 0, 0, 0, 0, 0, 0, 0, 52, 53, 0, 54, 55, 56, 57, 58, 59, 60, 61, 62,
47, 48, 49, 50, 51, 52, 53, 0, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 0, 74, 75, 76, 77, 78, 79, 80,
65, 66, 67, 68, 69, 70, 71, 72, 73, 0, 74, 75, 76, 77, 78, 79, 80, 81, 82, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99,
83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 0, 113, 0, 365, 114, 9, 10,
102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 0, 0, 114, 1, 2, 3, 4, 11, 12, 366, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 14, 15, 16, 17, 18,
5, 0, 7, 8, 9, 10, 11, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 20, 21, 22, 23, 24, 25, 26, 27, 0, 0, 0, 0, 0, 0, 34, 35, 36, 37,
13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 38, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 53, 0, 54, 55,
32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 0,
51, 52, 53, 0, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92,
69, 70, 71, 72, 73, 0, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 0, 113, 0, 0, 114};
106, 107, 108, 109, 110, 111, 112, 113, 0, 0, 114, 9, 10, 11, 12, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
25, 26, 27, 0, 0, 0, 0, 0, 0, 34, 35, 36, 37, 38, 39, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 52, 53, 0, 54, 55, 56, 57, 58, 59, 60, 61,
62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 0, 74, 75, 76, 77, 78, 79,
80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 0, 113, 0, 365, 114, 9,
10, 11, 12, 366, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 14, 15, 16, 17,
18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 0, 0, 0, 0, 0, 0, 34, 35, 36,
37, 38, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 53, 0, 54,
55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
0, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91,
92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
111, 0, 113, 0, 0, 114};
static const yytype_int16 yycheck[] = { static const yytype_int16 yycheck[] = {
0, 52, 119, 145, 119, 230, 124, 124, 162, 270, 262, 0, 187, 274, 0, 64, 181, 156, 167, 0, 52, 119, 145, 119, 270, 124, 124, 262, 274, 198, 162, 187, 156, 0, 0, 181, 64, 167,
393, 245, 146, 130, 160, 198, 416, 158, 141, 142, 160, 147, 168, 147, 151, 151, 399, 167, 159, 393, 130, 146, 130, 131, 416, 141, 142, 399, 139, 140, 147, 160, 147, 151, 151, 178, 179, 160,
165, 178, 179, 168, 159, 162, 159, 130, 131, 212, 439, 168, 167, 415, 167, 139, 140, 159, 181, 170, 168, 172, 160, 159, 415, 159, 168, 438, 212, 167, 160, 167, 230, 167, 164, 162, 243, 181,
232, 160, 433, 168, 165, 176, 177, 438, 167, 165, 185, 185, 243, 187, 122, 187, 162, 160, 168, 232, 168, 433, 176, 177, 160, 437, 130, 131, 245, 185, 185, 167, 187, 122, 187, 160, 160, 302,
230, 162, 164, 160, 160, 130, 159, 159, 233, 158, 167, 167, 165, 165, 159, 245, 159, 354, 159, 303, 304, 305, 230, 167, 167, 162, 130, 233, 159, 159, 159, 168, 354, 159, 165, 165, 165, 245,
170, 165, 172, 165, 160, 165, 152, 153, 165, 162, 270, 168, 196, 197, 274, 165, 165, 286, 168, 158, 165, 159, 286, 159, 159, 152, 153, 165, 165, 270, 165, 168, 165, 274, 165, 168, 168, 168,
168, 232, 233, 232, 233, 119, 302, 303, 304, 305, 124, 290, 215, 165, 130, 131, 168, 5, 6, 160, 232, 233, 232, 233, 119, 165, 130, 131, 168, 124, 290, 314, 165, 143, 144, 168, 137, 138,
7, 162, 135, 160, 276, 138, 168, 314, 230, 130, 131, 319, 167, 135, 147, 400, 135, 158, 151, 276, 165, 135, 133, 134, 138, 327, 5, 6, 7, 331, 319, 162, 400, 147, 162, 135, 135, 151,
159, 327, 137, 138, 245, 331, 179, 159, 173, 174, 175, 143, 144, 133, 134, 167, 165, 166, 298, 173, 174, 175, 165, 166, 298, 299, 159, 300, 301, 306, 307, 158, 160, 168, 167, 167, 158, 145,
299, 178, 173, 300, 301, 306, 307, 145, 158, 441, 406, 180, 348, 349, 185, 147, 187, 161, 354, 159, 180, 173, 158, 440, 179, 178, 147, 161, 158, 168, 158, 348, 349, 185, 158, 187, 168, 354,
168, 168, 158, 158, 168, 158, 166, 159, 158, 163, 158, 158, 319, 162, 319, 161, 295, 296, 297, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 168, 166, 319, 158, 319, 162, 158, 163, 159,
298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 399, 166, 161, 167, 67, 399, 161, 166, 162, 161, 158, 360, 165, 158, 163, 159, 159, 168, 18, 308, 162, 415,
165, 67, 158, 163, 232, 233, 159, 161, 159, 168, 18, 168, 162, 415, 287, 167, 409, 308, 310, 168, 287, 309, 312, 232, 233, 167, 310, 313, 425, 151, 196, 197, 311, 147, 151, 409, 6, 236,
168, 151, 309, 392, 425, 406, 312, 311, 147, 151, 313, 6, 275, 236, 358, 262, 437, 148, 149, 275, 436, 358, 392, 431, 437, 415, 336, 394, 394, 135, 215, -1, -1, -1, 262, -1, -1, -1,
150, 151, 152, 153, 154, 155, 156, 157, 394, 431, 441, 438, 394, 415, 135, -1, -1, 167, 399, -1, -1, -1, -1, -1, -1, -1, 230, -1, 440, -1, -1, -1, -1, -1, -1, -1, -1, 399,
-1, 336, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 415, -1, 420, 420, -1, -1, -1, 245, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 415, -1, 420, 420,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 406, -1, 319, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 319, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 336, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 336, -1, 295, 296, 297, 298,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 419, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 419, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 393, 394, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 393, 394, -1, -1, -1, -1,
399, 400, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 415, -1, -1, 399, 400, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 415, -1, -1,
-1, -1, 420, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 433, -1, -1, -1, -1, -1, 420, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 433, -1, -1, -1,
-1, 438, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, -1, 19, 437, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, -1, 19, 20,
20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, -1, 89, 90, 91, 92, 93, 94, 95,
96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133,
134, 135, 136, -1, -1, 139, 140, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 158, -1, -1, -1, 162, 163, -1, -1, -1, -1, 168, 169, 170, 171,
172, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, -1, 19, 20,
21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
...@@ -1395,7 +1386,7 @@ static const yytype_int16 yycheck[] = { ...@@ -1395,7 +1386,7 @@ static const yytype_int16 yycheck[] = {
98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116,
117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135,
136, -1, -1, 139, 140, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 136, -1, -1, 139, 140, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 158, -1, -1, -1, 162, -1, -1, -1, -1, -1, 168, 169, 170, 171, 172, 3, -1, -1, -1, 158, -1, -1, -1, 162, 163, -1, -1, -1, -1, 168, 169, 170, 171, 172, 3,
4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, -1, 19, 20, 21, 22, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, -1, 19, 20, 21, 22,
23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
...@@ -1413,40 +1404,41 @@ static const yytype_int16 yycheck[] = { ...@@ -1413,40 +1404,41 @@ static const yytype_int16 yycheck[] = {
100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118,
119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, -1, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, -1,
-1, 139, 140, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 139, 140, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 158, -1, -1, -1, -1, -1, -1, -1, -1, -1, 168, 169, 170, 171, 172, 3, 4, 5, -1, 158, -1, -1, -1, 162, -1, -1, -1, -1, -1, 168, 169, 170, 171, 172, 3, 4, 5,
6, 7, 8, 9, 10, 11, 12, 13, 14, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, -1, 19, 20, 21, 22, 23, 24,
-1, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
63, 64, 65, 66, -1, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
82, 83, 84, 85, 86, 87, -1, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 82, 83, 84, 85, 86, 87, -1, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100,
101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119,
120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, -1, -1, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, -1, -1,
139, 140, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3, 4, 5, 6, 7, 139, 140, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
158, 9, 10, 11, 12, 13, 14, -1, -1, -1, 168, 169, 170, 171, 172, -1, -1, -1, 26, 158, -1, -1, -1, -1, -1, -1, -1, -1, -1, 168, 169, 170, 171, 172, 3, 4, 5, 6,
27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 7, 8, 9, 10, 11, 12, 13, 14, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
65, 66, -1, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
84, 85, 86, 87, -1, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 64, 65, 66, -1, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 83, 84, 85, 86, 87, -1, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101,
122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, -1, -1, 139, 140, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3, 4, 5, 6, 7, 158, 9, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, -1, -1, 139,
10, 11, 12, 13, 14, -1, -1, -1, -1, 169, 170, 171, 172, -1, -1, -1, 26, 27, 28, 140, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3, 4, 5, 6, 7, 158,
29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 9, 10, 11, 12, 13, 14, -1, -1, -1, 168, 169, 170, 171, 172, -1, -1, -1, 26, 27,
48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
-1, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
86, 87, -1, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 66, -1, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 85, 86, 87, -1, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103,
124, 125, 126, 127, 128, -1, 130, 131, -1, 11, 12, 13, 14, -1, -1, -1, -1, -1, -1, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122,
-1, -1, -1, -1, -1, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, -1, -1, 139, 140, -1,
40, -1, -1, -1, -1, -1, 168, 47, 48, 49, 50, 51, 52, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3, 4, 5, 6, 7, 158, 9, 10,
-1, -1, -1, -1, -1, -1, 65, 66, -1, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 11, 12, 13, 14, -1, -1, -1, -1, 169, 170, 171, 172, -1, -1, -1, 26, 27, 28, 29,
78, 79, 80, 81, 82, 83, 84, 85, 86, 87, -1, 89, 90, 91, 92, 93, 94, 95, 96, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, -1,
116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86,
135, 136, -1, -1, 139, 140, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 87, -1, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105,
-1, -1, -1, -1, 158, -1, -1, 161, 11, 12, 13, 14, -1, -1, -1, 169, 170, 171, 172, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124,
125, 126, 127, 128, -1, 130, 131, -1, 11, 12, 13, 14, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, -1, -1, -1, -1, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
-1, -1, -1, -1, -1, -1, 47, 48, 49, 50, 51, 52, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 168, 47, 48, 49, 50, 51, 52, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 65, 66, -1, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, -1, -1, -1, -1, -1, 65, 66, -1, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
79, 80, 81, 82, 83, 84, 85, 86, 87, -1, 89, 90, 91, 92, 93, 94, 95, 96, 97, 79, 80, 81, 82, 83, 84, 85, 86, 87, -1, 89, 90, 91, 92, 93, 94, 95, 96, 97,
98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116,
...@@ -1460,77 +1452,85 @@ static const yytype_int16 yycheck[] = { ...@@ -1460,77 +1452,85 @@ static const yytype_int16 yycheck[] = {
99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117,
118, 119, 120, 121, 122, 123, 124, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, 135, 136, 118, 119, 120, 121, 122, 123, 124, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, 135, 136,
-1, -1, 139, 140, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 139, 140, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 158, 11, 12, 13, 14, -1, -1, -1, -1, -1, 168, 169, 170, 171, 172, -1, 26, -1, -1, 158, -1, -1, 161, 11, 12, 13, 14, -1, -1, -1, 169, 170, 171, 172, -1, -1,
27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, -1, -1, -1, -1, -1, -1, -1, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, -1, -1,
-1, 47, 48, 49, 50, 51, 52, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 47, 48, 49, 50, 51, 52, -1, -1, -1, -1, -1, -1, -1, -1, -1,
65, 66, -1, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, -1, -1, -1, 65, 66, -1, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
84, 85, 86, 87, -1, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 81, 82, 83, 84, 85, 86, 87, -1, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99,
103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118,
122, 123, 124, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, 135, 136, -1, -1, 139, 140, 119, 120, 121, 122, 123, 124, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, 135, 136, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 158, 11, -1, 139, 140, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
12, 13, 14, -1, -1, -1, -1, -1, -1, 169, 170, 171, 172, -1, 26, 27, 28, 29, 30, -1, 158, 11, 12, 13, 14, -1, -1, -1, -1, -1, 168, 169, 170, 171, 172, -1, 26, 27,
31, 32, 33, 34, 35, 36, 37, 38, 39, 40, -1, -1, -1, -1, -1, -1, 47, 48, 49, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, -1, -1, -1, -1, -1, -1,
50, 51, 52, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, 66, -1, 68, 47, 48, 49, 50, 51, 52, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65,
69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87,
-1, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106,
107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125,
126, -1, 128, 129, 130, 131, 132, 133, 134, 135, 136, -1, -1, 139, 140, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 3, 4, 5, 6, 7, 158, 9, 10, 11, 12, 13,
14, -1, -1, -1, -1, 169, 170, 171, 172, -1, -1, -1, 26, 27, 28, 29, 30, 31, 32,
33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, -1, 68, 69, 70,
71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, -1, 89,
90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127,
128, -1, -1, 131, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3, 4, 5, 6, 7, -1,
9, 10, 11, 12, 13, 14, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 163, 26, 27,
28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
66, -1, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 66, -1, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
85, 86, 87, -1, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 85, 86, 87, -1, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103,
104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122,
123, 124, 125, 126, 127, 128, -1, -1, 131, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3, 123, 124, 125, 126, -1, 128, 129, 130, 131, 132, 133, 134, 135, 136, -1, -1, 139, 140, -1,
4, 5, 6, 7, -1, 9, 10, 11, 12, 13, 14, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 158, 11, 12,
-1, -1, 163, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 13, 14, -1, -1, -1, -1, -1, -1, 169, 170, 171, 172, -1, 26, 27, 28, 29, 30, 31,
32, 33, 34, 35, 36, 37, 38, 39, 40, -1, -1, -1, -1, -1, -1, 47, 48, 49, 50,
51, 52, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, 66, -1, 68, 69,
70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, -1,
89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107,
108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126,
-1, 128, 129, 130, 131, 132, 133, 134, 135, 136, -1, -1, 139, 140, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 3, 4, 5, 6, 7, 158, 9, 10, 11, 12, 13, 14,
-1, -1, -1, -1, 169, 170, 171, 172, -1, -1, -1, 26, 27, 28, 29, 30, 31, 32, 33,
34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, -1, 68, 69, 70, 71,
72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, -1, 89, 90,
91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128,
-1, -1, 131, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3, 4, 5, 6, 7, -1, 9,
10, 11, 12, 13, 14, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 163, 26, 27, 28,
29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
-1, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85,
86, 87, -1, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123,
124, 125, 126, 127, 128, -1, -1, 131, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3, 4,
5, 6, 7, -1, 9, 10, 11, 12, 13, 14, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 163, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42,
43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61,
62, 63, 64, 65, 66, -1, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
81, 82, 83, 84, 85, 86, 87, -1, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99,
100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118,
119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -1, -1, 131, -1, -1, -1, -1, -1, -1,
0, -1, -1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 163, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
57, 58, 59, 60, 61, 62, 63, 64, 65, 66, -1, 68, 69, 70, 71, 72, 73, 74, 75,
76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, -1, 89, 90, 91, 92, 93, 94,
95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -1, -1, 131, 3,
4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
61, 62, 63, 64, 65, 66, -1, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 61, 62, 63, 64, 65, 66, -1, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
80, 81, 82, 83, 84, 85, 86, 87, -1, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 80, 81, 82, 83, 84, 85, 86, 87, -1, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117,
118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -1, -1, 131, -1, -1, -1, -1, -1, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -1, -1, 131, 3, 4, 5, 6, 7,
-1, 0, -1, -1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, -1, -1, -1, -1, 9, 10, 11, 12, 13, 14, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 26,
-1, -1, -1, -1, -1, -1, -1, 163, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, -1, 68, 69, 70, 71, 72, 73, 74, 65, 66, -1, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, -1, 89, 90, 91, 92, 93, 84, 85, 86, 87, -1, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102,
94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121,
113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -1, -1, 131, 122, 123, 124, 125, 126, 127, 128, -1, -1, 131, 11, 12, 13, 14, -1, -1, -1, -1, -1,
3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
-1, -1, -1, -1, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 39, 40, -1, -1, -1, -1, -1, -1, 47, 48, 49, 50, 51, 52, -1, -1, -1, -1, -1,
41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, -1, -1, -1, -1, -1, -1, -1, 65, 66, -1, 68, 69, 70, 71, 72, 73, 74, 75, 76,
60, 61, 62, 63, 64, 65, 66, -1, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, -1, 89, 90, 91, 92, 93, 94, 95,
79, 80, 81, 82, 83, 84, 85, 86, 87, -1, 89, 90, 91, 92, 93, 94, 95, 96, 97, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, -1, 128, -1, 130, 131, 11, 12,
117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, -1, -1, 131, 3, 4, 5, 6, 13, 14, 136, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 26, 27, 28, 29, 30, 31,
7, -1, 9, 10, 11, 12, 13, 14, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 32, 33, 34, 35, 36, 37, 38, 39, 40, -1, -1, -1, -1, -1, -1, 47, 48, 49, 50,
26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 51, 52, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, 66, -1, 68, 69,
45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, -1,
64, 65, 66, -1, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107,
83, 84, 85, 86, 87, -1, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126,
102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, -1, 128, -1, -1, 131};
121, 122, 123, 124, 125, 126, 127, 128, -1, -1, 131, 11, 12, 13, 14, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
38, 39, 40, -1, -1, -1, -1, -1, -1, 47, 48, 49, 50, 51, 52, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 65, 66, -1, 68, 69, 70, 71, 72, 73, 74, 75,
76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, -1, 89, 90, 91, 92, 93, 94,
95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, -1, 128, -1, 130, 131, 11,
12, 13, 14, 136, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 26, 27, 28, 29, 30,
31, 32, 33, 34, 35, 36, 37, 38, 39, 40, -1, -1, -1, -1, -1, -1, 47, 48, 49,
50, 51, 52, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, 66, -1, 68,
69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87,
-1, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106,
107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125,
126, -1, 128, -1, -1, 131};
/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
symbol of state STATE-NUM. */ symbol of state STATE-NUM. */
...@@ -1556,9 +1556,9 @@ static const yytype_uint16 yystos[] = { ...@@ -1556,9 +1556,9 @@ static const yytype_uint16 yystos[] = {
153, 154, 155, 156, 157, 167, 210, 165, 168, 163, 248, 246, 167, 246, 244, 237, 165, 168, 130, 153, 154, 155, 156, 157, 167, 210, 165, 168, 163, 248, 246, 167, 246, 244, 237, 165, 168, 130,
168, 159, 187, 211, 130, 136, 190, 209, 195, 195, 195, 197, 197, 198, 198, 199, 199, 199, 199, 168, 159, 187, 211, 130, 136, 190, 209, 195, 195, 195, 197, 197, 198, 198, 199, 199, 199, 199,
200, 200, 201, 202, 203, 204, 205, 206, 211, 161, 163, 254, 255, 256, 269, 211, 168, 211, 166, 200, 200, 201, 202, 203, 204, 205, 206, 211, 161, 163, 254, 255, 256, 269, 211, 168, 211, 166,
267, 258, 209, 209, 246, 168, 245, 160, 168, 161, 166, 67, 257, 249, 247, 259, 270, 159, 159, 267, 258, 209, 209, 246, 168, 245, 168, 237, 161, 166, 67, 257, 249, 247, 259, 270, 159, 159,
211, 224, 226, 265, 252, 212, 209, 158, 265, 271, 272, 254, 261, 263, 183, 159, 163, 161, 211, 211, 224, 226, 265, 252, 168, 209, 158, 265, 271, 272, 254, 261, 263, 183, 159, 163, 211, 168,
168, 159, 18, 250, 167, 249, 253, 257, 168, 159, 211, 253, 254, 246, 168}; 159, 18, 250, 167, 249, 253, 257, 159, 211, 253, 254, 246, 168};
/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
static const yytype_uint16 yyr1[] = { static const yytype_uint16 yyr1[] = {
...@@ -1586,7 +1586,7 @@ static const yytype_uint8 yyr2[] = { ...@@ -1586,7 +1586,7 @@ static const yytype_uint8 yyr2[] = {
0, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 4, 1, 3, 2, 2, 1, 1, 1, 3, 2, 2, 2, 1, 2, 3, 2, 1, 0, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 4, 1, 3, 2, 2, 1, 1, 1, 3, 2, 2, 2, 1, 2, 3, 2, 1,
1, 1, 1, 2, 2, 2, 1, 1, 1, 1, 1, 3, 3, 3, 1, 3, 3, 1, 3, 3, 1, 3, 3, 3, 3, 1, 3, 3, 1, 3, 1, 1, 1, 2, 2, 2, 1, 1, 1, 1, 1, 3, 3, 3, 1, 3, 3, 1, 3, 3, 1, 3, 3, 3, 3, 1, 3, 3, 1, 3,
1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 2, 2, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 2, 2,
2, 4, 5, 6, 9, 2, 3, 2, 1, 1, 2, 3, 3, 2, 3, 2, 1, 2, 1, 1, 1, 3, 4, 6, 5, 1, 2, 3, 5, 4, 2, 4, 5, 6, 7, 2, 3, 2, 1, 1, 2, 3, 3, 2, 3, 2, 1, 2, 1, 1, 1, 3, 4, 6, 5, 1, 2, 3, 5, 4,
1, 2, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 4, 1, 3, 1, 3, 3, 1, 1, 2, 2, 3, 3, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 4, 1, 3, 1, 3, 3, 1, 1, 2, 2, 3, 3, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
...@@ -3192,12 +3192,12 @@ yyreduce: ...@@ -3192,12 +3192,12 @@ yyreduce:
case 94: case 94:
{ {
ES3_OR_NEWER(ImmutableString((yyvsp[-7].lex).string), (yylsp[-8]), "interface blocks"); ES3_OR_NEWER(ImmutableString((yyvsp[-5].lex).string), (yylsp[-6]), "interface blocks");
(yyval.interm.intermNode) = context->addInterfaceBlock( (yyval.interm.intermNode) = context->addInterfaceBlock(
*(yyvsp[-8].interm.typeQualifierBuilder), (yylsp[-7]), *(yyvsp[-6].interm.typeQualifierBuilder), (yylsp[-5]),
ImmutableString((yyvsp[-7].lex).string), (yyvsp[-6].interm.fieldList), ImmutableString((yyvsp[-5].lex).string), (yyvsp[-4].interm.fieldList),
ImmutableString((yyvsp[-4].lex).string), (yylsp[-4]), ImmutableString((yyvsp[-2].lex).string), (yylsp[-2]), (yyvsp[-1].interm.arraySizes),
(yyvsp[-2].interm.intermTypedNode), (yylsp[-3])); (yylsp[-1]));
} }
break; break;
......
...@@ -551,6 +551,8 @@ bool IsVaryingOut(TQualifier qualifier) ...@@ -551,6 +551,8 @@ bool IsVaryingOut(TQualifier qualifier)
case EvqCentroidOut: case EvqCentroidOut:
case EvqVertexOut: case EvqVertexOut:
case EvqGeometryOut: case EvqGeometryOut:
case EvqTessControlOut:
case EvqTessEvaluationOut:
case EvqSampleOut: case EvqSampleOut:
return true; return true;
...@@ -572,6 +574,8 @@ bool IsVaryingIn(TQualifier qualifier) ...@@ -572,6 +574,8 @@ bool IsVaryingIn(TQualifier qualifier)
case EvqCentroidIn: case EvqCentroidIn:
case EvqFragmentIn: case EvqFragmentIn:
case EvqGeometryIn: case EvqGeometryIn:
case EvqTessControlIn:
case EvqTessEvaluationIn:
case EvqSampleIn: case EvqSampleIn:
return true; return true;
......
...@@ -208,12 +208,6 @@ ...@@ -208,12 +208,6 @@
// Shader I/O blocks: // Shader I/O blocks:
// Missing matching of block names with unnamed SSBOs with the same member variable // Missing matching of block names with unnamed SSBOs with the same member variable
3580 VULKAN : dEQP-GLES31.functional.shaders.linkage.es31.shader_storage_block.ambiguous_variable_name_3 = FAIL 3580 VULKAN : dEQP-GLES31.functional.shaders.linkage.es31.shader_storage_block.ambiguous_variable_name_3 = FAIL
// Missing support for unsized geometry shader input I/O block arrays
3580 VULKAN : dEQP-GLES31.functional.shaders.linkage.es31.geometry.varying.rules.input_block = FAIL
3580 VULKAN : dEQP-GLES31.functional.shaders.linkage.es31.geometry.varying.types.float_array = FAIL
// Incorrect error regarding interface block being in/out
3580 VULKAN : dEQP-GLES31.functional.shaders.linkage.es31.geometry.varying.rules.input_block_explicit_size = FAIL
3580 VULKAN : dEQP-GLES31.functional.shaders.linkage.es31.geometry.varying.rules.output_block* = FAIL
// Missing matching of struct name in member fields of matching nameless I/O blocks // Missing matching of struct name in member fields of matching nameless I/O blocks
3580 VULKAN : dEQP-GLES31.functional.separate_shader.validation.es31.io_blocks.mismatch_different_member_struct_names = FAIL 3580 VULKAN : dEQP-GLES31.functional.separate_shader.validation.es31.io_blocks.mismatch_different_member_struct_names = FAIL
// Failed by glslang errors (matrix or packing qualifiers can only be used on a uniform or buffer) // Failed by glslang errors (matrix or packing qualifiers can only be used on a uniform or buffer)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment