提交 2713f4f6 编写于 作者: D dapan1121

feat: support create topic as stable with conditions

上级 357e86b9
......@@ -347,6 +347,7 @@
#define TK_WAL 329
#define TK_NK_SPACE 600
#define TK_NK_COMMENT 601
#define TK_NK_ILLEGAL 602
......
......@@ -358,6 +358,7 @@ typedef struct SCreateTopicStmt {
bool ignoreExists;
bool withMeta;
SNode* pQuery;
SNode* pWhere;
} SCreateTopicStmt;
typedef struct SDropTopicStmt {
......
......@@ -51,6 +51,12 @@ typedef enum {
TARGET_TYPE_OTHER,
} ETargetType;
typedef enum {
TCOL_TYPE_COLUMN = 1,
TCOL_TYPE_TAG,
TCOL_TYPE_NONE,
} ETableColumnType;
#define QUERY_POLICY_VNODE 1
#define QUERY_POLICY_HYBRID 2
#define QUERY_POLICY_QNODE 3
......@@ -257,6 +263,7 @@ void destroyQueryExecRes(SExecResult* pRes);
int32_t dataConverToStr(char* str, int type, void* buf, int32_t bufSize, int32_t* len);
char* parseTagDatatoJson(void* p);
int32_t cloneTableMeta(STableMeta* pSrc, STableMeta** pDst);
void getColumnTypeFromMeta(STableMeta* pMeta, char* pName, ETableColumnType* pType);
int32_t cloneDbVgInfo(SDBVgInfo* pSrc, SDBVgInfo** pDst);
int32_t cloneSVreateTbReq(SVCreateTbReq* pSrc, SVCreateTbReq** pDst);
void freeVgInfo(SDBVgInfo* vgInfo);
......
......@@ -3836,8 +3836,12 @@ int32_t tSerializeSCMCreateTopicReq(void *buf, int32_t bufLen, const SCMCreateTo
if (TOPIC_SUB_TYPE__TABLE == pReq->subType) {
if (tEncodeCStr(&encoder, pReq->subStbName) < 0) return -1;
}
if (tEncodeI32(&encoder, strlen(pReq->ast)) < 0) return -1;
if (tEncodeCStr(&encoder, pReq->ast) < 0) return -1;
if (pReq->ast && strlen(pReq->ast) > 0) {
if (tEncodeI32(&encoder, strlen(pReq->ast)) < 0) return -1;
if (tEncodeCStr(&encoder, pReq->ast) < 0) return -1;
} else {
if (tEncodeI32(&encoder, 0) < 0) return -1;
}
}
if (tEncodeI32(&encoder, strlen(pReq->sql)) < 0) return -1;
if (tEncodeCStr(&encoder, pReq->sql) < 0) return -1;
......
......@@ -206,7 +206,7 @@ SNode* createCreateTopicStmtUseQuery(SAstCreateContext* pCxt, bool ignoreExists,
SNode* createCreateTopicStmtUseDb(SAstCreateContext* pCxt, bool ignoreExists, SToken* pTopicName, SToken* pSubDbName,
bool withMeta);
SNode* createCreateTopicStmtUseTable(SAstCreateContext* pCxt, bool ignoreExists, SToken* pTopicName, SNode* pRealTable,
bool withMeta);
bool withMeta, SNode* pWhere);
SNode* createDropTopicStmt(SAstCreateContext* pCxt, bool ignoreNotExists, SToken* pTopicName);
SNode* createDropCGroupStmt(SAstCreateContext* pCxt, bool ignoreNotExists, const SToken* pCGroupId, SToken* pTopicName);
SNode* createAlterLocalStmt(SAstCreateContext* pCxt, const SToken* pConfig, const SToken* pValue);
......
......@@ -115,6 +115,7 @@ int32_t getTableIndexFromCache(SParseMetaCache* pMetaCache, const SName* pName,
int32_t getTableCfgFromCache(SParseMetaCache* pMetaCache, const SName* pName, STableCfg** pOutput);
int32_t getDnodeListFromCache(SParseMetaCache* pMetaCache, SArray** pDnodes);
void destoryParseMetaCache(SParseMetaCache* pMetaCache, bool request);
SNode* createSelectStmtImpl(bool isDistinct, SNodeList* pProjectionList, SNode* pTable);
#ifdef __cplusplus
}
......
......@@ -822,16 +822,9 @@ SNode* addFillClause(SAstCreateContext* pCxt, SNode* pStmt, SNode* pFill) {
SNode* createSelectStmt(SAstCreateContext* pCxt, bool isDistinct, SNodeList* pProjectionList, SNode* pTable) {
CHECK_PARSER_STATUS(pCxt);
SSelectStmt* select = (SSelectStmt*)nodesMakeNode(QUERY_NODE_SELECT_STMT);
SNode* select = createSelectStmtImpl(isDistinct, pProjectionList, pTable);
CHECK_OUT_OF_MEM(select);
select->isDistinct = isDistinct;
select->pProjectionList = pProjectionList;
select->pFromTable = pTable;
sprintf(select->stmtName, "%p", select);
select->isTimeLineResult = true;
select->onlyHasKeepOrderFunc = true;
select->timeRange = TSWINDOW_INITIALIZER;
return (SNode*)select;
return select;
}
static void setSubquery(SNode* pStmt) {
......@@ -1703,7 +1696,7 @@ SNode* createCreateTopicStmtUseDb(SAstCreateContext* pCxt, bool ignoreExists, ST
}
SNode* createCreateTopicStmtUseTable(SAstCreateContext* pCxt, bool ignoreExists, SToken* pTopicName, SNode* pRealTable,
bool withMeta) {
bool withMeta, SNode* pWhere) {
CHECK_PARSER_STATUS(pCxt);
if (!checkTopicName(pCxt, pTopicName)) {
return NULL;
......@@ -1713,32 +1706,7 @@ SNode* createCreateTopicStmtUseTable(SAstCreateContext* pCxt, bool ignoreExists,
COPY_STRING_FORM_ID_TOKEN(pStmt->topicName, pTopicName);
pStmt->ignoreExists = ignoreExists;
pStmt->withMeta = withMeta;
// SSelectStmt* pSelect = (SSelectStmt*)nodesMakeNode(QUERY_NODE_SELECT_STMT);
// if (NULL == pSelect) {
// return TSDB_CODE_OUT_OF_MEMORY;
// }
// sprintf(pSelect->stmtName, "%p", pSelect);
//
// SRealTableNode* pRealTable = (SRealTableNode*)nodesMakeNode(QUERY_NODE_REAL_TABLE);
// if (NULL == pRealTable) {
// nodesDestroyNode((SNode*)pSelect);
// return TSDB_CODE_OUT_OF_MEMORY;
// }
// snprintf(pRealTable->table.dbName, sizeof(pRealTable->table.dbName), "%s", pDb);
// snprintf(pRealTable->table.tableName, sizeof(pRealTable->table.tableName), "%s", pTable);
// snprintf(pRealTable->table.tableAlias, sizeof(pRealTable->table.tableAlias), "%s", pTable);
// pSelect->pFromTable = (SNode*)pRealTable;
//
// if (numOfProjs >= 0) {
// pSelect->pProjectionList = createProjectCols(numOfProjs, pProjCol);
// if (NULL == pSelect->pProjectionList) {
// nodesDestroyNode((SNode*)pSelect);
// return TSDB_CODE_OUT_OF_MEMORY;
// }
// }
//
// pStmt->pQuery = pSelect;
pStmt->pWhere = pWhere;
strcpy(pStmt->subDbName, ((SRealTableNode*)pRealTable)->table.dbName);
strcpy(pStmt->subSTbName, ((SRealTableNode*)pRealTable)->table.tableName);
......
......@@ -355,6 +355,11 @@ static int32_t collectMetaKeyFromCreateTopic(SCollectMetaKeyCxt* pCxt, SCreateTo
if (NULL != pStmt->pQuery) {
return collectMetaKeyFromQuery(pCxt, pStmt->pQuery);
}
if (NULL != pStmt->pWhere) {
int32_t code = collectMetaKeyFromRealTableImpl(pCxt, pStmt->subDbName, pStmt->subSTbName,
AUTH_TYPE_READ);
return code;
}
return TSDB_CODE_SUCCESS;
}
......
......@@ -55,6 +55,13 @@ typedef struct STranslateContext {
bool showRewrite;
} STranslateContext;
typedef struct SBuildTopicContext {
bool colExists;
bool colNotFound;
STableMeta* pMeta;
SNodeList* pTags;
} SBuildTopicContext;
typedef struct SFullDatabaseName {
char fullDbName[TSDB_DB_FNAME_LEN];
} SFullDatabaseName;
......@@ -5789,12 +5796,107 @@ static int32_t buildCreateTopicReq(STranslateContext* pCxt, SCreateTopicStmt* pS
return code;
}
static int32_t addTagList(SNodeList** ppList, SNode* pNode) {
if (NULL == *ppList) {
*ppList = nodesMakeList();
}
nodesListStrictAppend(*ppList, pNode);
return TSDB_CODE_SUCCESS;
}
static EDealRes checkColumnTagsInCond(SNode* pNode, void* pContext) {
SBuildTopicContext* pCxt = (SBuildTopicContext*)pContext;
if (QUERY_NODE_COLUMN == nodeType(pNode)) {
ETableColumnType type;
getColumnTypeFromMeta(pCxt->pMeta, ((SColumnNode*)pNode)->colName, &type);
if (type == TCOL_TYPE_COLUMN) {
pCxt->colExists = true;
return DEAL_RES_ERROR;
} else if (type == TCOL_TYPE_TAG) {
addTagList(&pCxt->pTags, nodesCloneNode(pNode));
} else {
pCxt->colNotFound = true;
return DEAL_RES_ERROR;
}
} else if (QUERY_NODE_FUNCTION == nodeType(pNode)) {
SFunctionNode* pFunc = (SFunctionNode*)pNode;
if (0 == strcasecmp(pFunc->functionName, "tbname")) {
addTagList(&pCxt->pTags, nodesCloneNode(pNode));
}
}
return DEAL_RES_CONTINUE;
}
static int32_t checkCollectTopicTags(STranslateContext* pCxt, SCreateTopicStmt* pStmt, STableMeta* pMeta, SNodeList** ppProjection) {
SBuildTopicContext colCxt = {.colExists = false, .colNotFound = false, .pMeta = pMeta, .pTags = NULL};
nodesWalkExprPostOrder(pStmt->pWhere, checkColumnTagsInCond, &colCxt);
if (colCxt.colNotFound) {
nodesDestroyList(colCxt.pTags);
return generateSyntaxErrMsgExt(&pCxt->msgBuf, TSDB_CODE_PAR_SYNTAX_ERROR, "Invalid column name");
} else if (colCxt.colExists) {
nodesDestroyList(colCxt.pTags);
return generateSyntaxErrMsgExt(&pCxt->msgBuf, TSDB_CODE_PAR_SYNTAX_ERROR, "Columns are forbidden in where clause");
}
if (NULL == colCxt.pTags) {
for (int32_t i = 0; i < pMeta->tableInfo.numOfTags; ++i) {
SSchema* tag = &pMeta->schema[pMeta->tableInfo.numOfColumns + i];
SColumnNode* col = (SColumnNode*)nodesMakeNode(QUERY_NODE_COLUMN);
strcpy(col->colName, tag->name);
strcpy(col->node.aliasName, col->colName);
strcpy(col->node.userAlias, col->colName);
addTagList(&colCxt.pTags, (SNode*)col);
}
}
*ppProjection = colCxt.pTags;
return TSDB_CODE_SUCCESS;
}
static int32_t buildQueryForTableTopic(STranslateContext* pCxt, SCreateTopicStmt* pStmt, SNode** pSelect) {
SParseContext* pParCxt = pCxt->pParseCxt;
SRequestConnInfo connInfo = {.pTrans = pParCxt->pTransporter,
.requestId = pParCxt->requestId,
.requestObjRefId = pParCxt->requestRid,
.mgmtEps = pParCxt->mgmtEpSet};
SName name;
STableMeta* pMeta = NULL;
int32_t code = getTableMetaImpl(pCxt, toName(pParCxt->acctId, pStmt->subDbName, pStmt->subSTbName, &name), &pMeta);
if (code) {
taosMemoryFree(pMeta);
return code;
}
if (TSDB_SUPER_TABLE != pMeta->tableType) {
taosMemoryFree(pMeta);
return generateSyntaxErrMsgExt(&pCxt->msgBuf, TSDB_CODE_PAR_SYNTAX_ERROR, "Only supertable table can be used");
}
SNodeList* pProjection = NULL;
code = checkCollectTopicTags(pCxt, pStmt, pMeta, &pProjection);
if (TSDB_CODE_SUCCESS == code) {
SRealTableNode* realTable = (SRealTableNode*)nodesMakeNode(QUERY_NODE_REAL_TABLE);
strcpy(realTable->table.dbName, pStmt->subDbName);
strcpy(realTable->table.tableName, pStmt->subSTbName);
strcpy(realTable->table.tableAlias, pStmt->subSTbName);
*pSelect = createSelectStmtImpl(true, pProjection, (SNode*)realTable);
((SSelectStmt*)*pSelect)->pWhere = nodesCloneNode(pStmt->pWhere);
code = translateQuery(pCxt, *pSelect);
}
taosMemoryFree(pMeta);
return code;
}
static int32_t checkCreateTopic(STranslateContext* pCxt, SCreateTopicStmt* pStmt) {
if (NULL == pStmt->pQuery) {
if (NULL == pStmt->pQuery && NULL == pStmt->pWhere) {
return TSDB_CODE_SUCCESS;
}
if (QUERY_NODE_SELECT_STMT == nodeType(pStmt->pQuery)) {
if (pStmt->pWhere) {
return buildQueryForTableTopic(pCxt, pStmt, &pStmt->pQuery);
} else if (QUERY_NODE_SELECT_STMT == nodeType(pStmt->pQuery)) {
SSelectStmt* pSelect = (SSelectStmt*)pStmt->pQuery;
if (!pSelect->isDistinct &&
(NULL != pSelect->pFromTable && QUERY_NODE_REAL_TABLE == nodeType(pSelect->pFromTable)) &&
......
......@@ -666,6 +666,22 @@ int32_t buildCatalogReq(const SParseMetaCache* pMetaCache, SCatalogReq* pCatalog
return code;
}
SNode* createSelectStmtImpl(bool isDistinct, SNodeList* pProjectionList, SNode* pTable) {
SSelectStmt* select = (SSelectStmt*)nodesMakeNode(QUERY_NODE_SELECT_STMT);
if (NULL == select) {
return NULL;
}
select->isDistinct = isDistinct;
select->pProjectionList = pProjectionList;
select->pFromTable = pTable;
sprintf(select->stmtName, "%p", select);
select->isTimeLineResult = true;
select->onlyHasKeepOrderFunc = true;
select->timeRange = TSWINDOW_INITIALIZER;
return (SNode*)select;
}
static int32_t putMetaDataToHash(const char* pKey, int32_t len, const SArray* pData, int32_t index, SHashObj** pHash) {
if (NULL == *pHash) {
*pHash = taosHashInit(4, taosGetDefaultHashFunction(TSDB_DATA_TYPE_BINARY), false, HASH_NO_LOCK);
......
......@@ -140,18 +140,18 @@ typedef union {
#define ParseCTX_FETCH
#define ParseCTX_STORE
#define YYFALLBACK 1
#define YYNSTATE 762
#define YYNSTATE 764
#define YYNRULE 583
#define YYNRULE_WITH_ACTION 583
#define YYNTOKEN 330
#define YY_MAX_SHIFT 761
#define YY_MIN_SHIFTREDUCE 1136
#define YY_MAX_SHIFTREDUCE 1718
#define YY_ERROR_ACTION 1719
#define YY_ACCEPT_ACTION 1720
#define YY_NO_ACTION 1721
#define YY_MIN_REDUCE 1722
#define YY_MAX_REDUCE 2304
#define YY_MAX_SHIFT 763
#define YY_MIN_SHIFTREDUCE 1138
#define YY_MAX_SHIFTREDUCE 1720
#define YY_ERROR_ACTION 1721
#define YY_ACCEPT_ACTION 1722
#define YY_NO_ACTION 1723
#define YY_MIN_REDUCE 1724
#define YY_MAX_REDUCE 2306
/************* End control #defines *******************************************/
#define YY_NLOOKAHEAD ((int)(sizeof(yy_lookahead)/sizeof(yy_lookahead[0])))
......@@ -218,609 +218,609 @@ typedef union {
** yy_default[] Default action for each state.
**
*********** Begin parsing tables **********************************************/
#define YY_ACTTAB_COUNT (2904)
#define YY_ACTTAB_COUNT (2902)
static const YYACTIONTYPE yy_action[] = {
/* 0 */ 2116, 2010, 1881, 396, 434, 168, 636, 1734, 433, 1989,
/* 10 */ 672, 162, 46, 44, 1646, 1723, 2008, 642, 374, 1894,
/* 20 */ 393, 506, 1495, 440, 39, 38, 1942, 503, 45, 43,
/* 30 */ 42, 41, 40, 1576, 1791, 1493, 123, 2134, 1520, 122,
/* 40 */ 121, 120, 119, 118, 117, 116, 115, 114, 2279, 2084,
/* 50 */ 593, 671, 593, 2275, 194, 2275, 39, 38, 167, 1571,
/* 60 */ 45, 43, 42, 41, 40, 19, 1833, 340, 2281, 186,
/* 70 */ 2281, 186, 1501, 2276, 619, 2276, 619, 45, 43, 42,
/* 80 */ 41, 40, 2115, 501, 654, 2151, 502, 1758, 169, 2117,
/* 90 */ 675, 2119, 2120, 670, 182, 665, 1520, 758, 36, 298,
/* 100 */ 15, 735, 734, 733, 732, 405, 1931, 731, 730, 144,
/* 110 */ 725, 724, 723, 722, 721, 720, 719, 157, 715, 714,
/* 120 */ 713, 404, 403, 710, 709, 708, 175, 174, 594, 2241,
/* 130 */ 509, 654, 1320, 502, 1758, 123, 1578, 1579, 122, 121,
/* 140 */ 120, 119, 118, 117, 116, 115, 114, 1311, 697, 696,
/* 150 */ 695, 1315, 694, 1317, 1318, 693, 690, 179, 1326, 687,
/* 160 */ 1328, 1329, 684, 681, 49, 640, 1551, 1561, 654, 2219,
/* 170 */ 655, 1892, 1577, 1580, 1720, 39, 38, 360, 1993, 45,
/* 180 */ 43, 42, 41, 40, 1409, 1410, 1496, 1523, 1494, 133,
/* 190 */ 655, 1892, 387, 62, 1715, 2216, 539, 39, 38, 280,
/* 200 */ 165, 45, 43, 42, 41, 40, 39, 38, 1894, 191,
/* 210 */ 45, 43, 42, 41, 40, 1499, 1500, 1868, 1550, 1553,
/* 220 */ 1554, 1555, 1556, 1557, 1558, 1559, 1560, 667, 663, 1569,
/* 230 */ 1570, 1572, 1573, 1574, 1575, 2, 46, 44, 1722, 179,
/* 240 */ 62, 343, 93, 1518, 393, 408, 1495, 62, 49, 407,
/* 250 */ 471, 2116, 2280, 485, 352, 2275, 484, 1576, 1989, 1493,
/* 260 */ 1994, 672, 132, 131, 130, 129, 128, 127, 126, 125,
/* 270 */ 124, 2279, 454, 1522, 486, 2276, 2278, 456, 432, 396,
/* 280 */ 431, 707, 2280, 1571, 1275, 2275, 211, 165, 2134, 19,
/* 290 */ 504, 593, 1765, 1714, 2275, 1894, 1501, 1274, 1605, 1685,
/* 300 */ 2084, 2279, 671, 196, 2010, 2276, 2277, 430, 618, 2281,
/* 310 */ 186, 2275, 518, 2116, 2276, 619, 386, 621, 66, 2007,
/* 320 */ 642, 758, 361, 672, 15, 1767, 617, 186, 1264, 655,
/* 330 */ 1892, 2276, 619, 2115, 444, 257, 2151, 655, 1892, 110,
/* 340 */ 2117, 675, 2119, 2120, 670, 189, 665, 1521, 133, 143,
/* 350 */ 2134, 150, 2175, 2204, 1606, 544, 55, 389, 2200, 487,
/* 360 */ 1578, 1579, 2084, 482, 671, 1266, 476, 475, 474, 473,
/* 370 */ 470, 469, 468, 467, 466, 462, 461, 460, 459, 342,
/* 380 */ 451, 450, 449, 613, 446, 445, 359, 1650, 1520, 1521,
/* 390 */ 1551, 1561, 189, 1520, 545, 2115, 1577, 1580, 2151, 189,
/* 400 */ 189, 110, 2117, 675, 2119, 2120, 670, 707, 665, 1191,
/* 410 */ 1496, 1190, 1494, 2295, 62, 2204, 1262, 630, 140, 389,
/* 420 */ 2200, 279, 50, 608, 641, 630, 140, 1745, 35, 391,
/* 430 */ 1600, 1601, 1602, 1603, 1604, 1608, 1609, 1610, 1611, 1499,
/* 440 */ 1500, 1192, 1550, 1553, 1554, 1555, 1556, 1557, 1558, 1559,
/* 450 */ 1560, 667, 663, 1569, 1570, 1572, 1573, 1574, 1575, 2,
/* 460 */ 12, 46, 44, 1354, 1355, 1495, 402, 401, 62, 393,
/* 470 */ 1279, 1495, 557, 556, 555, 516, 2084, 2003, 1493, 547,
/* 480 */ 137, 551, 1576, 1278, 1493, 550, 2280, 2116, 32, 1502,
/* 490 */ 549, 554, 368, 367, 39, 38, 548, 672, 45, 43,
/* 500 */ 42, 41, 40, 1522, 1523, 1426, 1427, 2116, 1571, 614,
/* 510 */ 609, 602, 1674, 699, 19, 1501, 1935, 669, 185, 2212,
/* 520 */ 2213, 1501, 138, 2217, 2134, 632, 184, 2212, 2213, 398,
/* 530 */ 138, 2217, 1937, 1939, 2051, 1191, 2084, 1190, 671, 1552,
/* 540 */ 758, 1425, 1428, 1519, 2134, 489, 758, 39, 38, 15,
/* 550 */ 228, 45, 43, 42, 41, 40, 2084, 153, 671, 605,
/* 560 */ 604, 1672, 1673, 1675, 1676, 1677, 189, 1192, 166, 2115,
/* 570 */ 1744, 580, 2151, 318, 189, 170, 2117, 675, 2119, 2120,
/* 580 */ 670, 246, 665, 28, 1708, 1578, 1579, 316, 73, 2115,
/* 590 */ 12, 72, 2151, 2094, 562, 334, 2117, 675, 2119, 2120,
/* 600 */ 670, 668, 665, 656, 2169, 655, 1892, 2102, 107, 572,
/* 610 */ 209, 497, 495, 492, 54, 1551, 1561, 2098, 612, 2084,
/* 620 */ 189, 1577, 1580, 242, 438, 141, 620, 2296, 213, 1496,
/* 630 */ 478, 1494, 504, 1884, 1765, 1496, 1794, 1494, 165, 565,
/* 640 */ 1944, 1944, 1505, 641, 559, 2134, 1895, 358, 373, 241,
/* 650 */ 62, 279, 195, 2100, 376, 1942, 1942, 1501, 1499, 1500,
/* 660 */ 1169, 289, 290, 665, 1499, 1500, 288, 1550, 1553, 1554,
/* 670 */ 1555, 1556, 1557, 1558, 1559, 1560, 667, 663, 1569, 1570,
/* 680 */ 1572, 1573, 1574, 1575, 2, 46, 44, 1581, 109, 70,
/* 690 */ 202, 201, 69, 393, 639, 1495, 2003, 2116, 611, 1171,
/* 700 */ 1974, 1174, 1175, 557, 556, 555, 1576, 633, 1493, 365,
/* 710 */ 547, 137, 551, 477, 641, 698, 550, 618, 655, 1892,
/* 720 */ 2275, 549, 554, 368, 367, 630, 140, 548, 81, 80,
/* 730 */ 437, 1643, 1571, 193, 2134, 617, 186, 439, 1938, 1939,
/* 740 */ 2276, 619, 717, 244, 1944, 1501, 2084, 243, 671, 655,
/* 750 */ 1892, 383, 14, 13, 341, 655, 1892, 423, 1877, 1942,
/* 760 */ 421, 417, 413, 410, 430, 650, 1743, 2003, 448, 1944,
/* 770 */ 758, 106, 2077, 47, 463, 366, 388, 364, 363, 2115,
/* 780 */ 541, 103, 2151, 2116, 1942, 110, 2117, 675, 2119, 2120,
/* 790 */ 670, 1944, 665, 672, 1869, 655, 1892, 183, 397, 2204,
/* 800 */ 101, 543, 189, 389, 2200, 542, 1942, 90, 347, 1578,
/* 810 */ 1579, 372, 87, 573, 464, 2084, 188, 2078, 593, 1735,
/* 820 */ 2134, 2275, 553, 552, 2230, 1885, 277, 2212, 629, 362,
/* 830 */ 134, 628, 2084, 2275, 671, 1742, 2281, 186, 1887, 1551,
/* 840 */ 1561, 2276, 619, 630, 140, 1577, 1580, 245, 617, 186,
/* 850 */ 655, 1892, 1619, 2276, 619, 458, 1586, 2219, 12, 1496,
/* 860 */ 10, 1494, 1520, 593, 457, 2115, 2275, 1741, 2151, 517,
/* 870 */ 1879, 111, 2117, 675, 2119, 2120, 670, 657, 665, 2176,
/* 880 */ 622, 2281, 186, 2215, 2084, 2204, 2276, 619, 1499, 1500,
/* 890 */ 2201, 1550, 1553, 1554, 1555, 1556, 1557, 1558, 1559, 1560,
/* 900 */ 667, 663, 1569, 1570, 1572, 1573, 1574, 1575, 2, 46,
/* 910 */ 44, 659, 1523, 2176, 1468, 1469, 2084, 393, 427, 1495,
/* 920 */ 52, 2116, 3, 705, 155, 154, 702, 701, 700, 152,
/* 930 */ 1576, 633, 1493, 39, 38, 655, 1892, 45, 43, 42,
/* 940 */ 41, 40, 429, 425, 187, 2212, 2213, 2116, 138, 2217,
/* 950 */ 198, 1875, 655, 1892, 1889, 578, 1571, 672, 2134, 2238,
/* 960 */ 705, 155, 154, 702, 701, 700, 152, 399, 1520, 1501,
/* 970 */ 2084, 247, 671, 655, 1892, 165, 42, 41, 40, 2219,
/* 980 */ 1642, 39, 38, 1894, 2134, 45, 43, 42, 41, 40,
/* 990 */ 84, 543, 589, 83, 758, 542, 2084, 47, 671, 655,
/* 1000 */ 1892, 593, 1740, 2115, 2275, 2214, 2151, 2116, 1552, 110,
/* 1010 */ 2117, 675, 2119, 2120, 670, 2067, 665, 672, 634, 2281,
/* 1020 */ 186, 183, 9, 2204, 2276, 619, 1739, 389, 2200, 2115,
/* 1030 */ 1867, 87, 2151, 1578, 1579, 110, 2117, 675, 2119, 2120,
/* 1040 */ 670, 2094, 665, 254, 2134, 1738, 571, 2295, 2231, 2204,
/* 1050 */ 146, 2084, 135, 389, 2200, 1883, 2084, 1888, 671, 569,
/* 1060 */ 256, 567, 1989, 1551, 1561, 2098, 34, 655, 1892, 1577,
/* 1070 */ 1580, 1607, 39, 38, 1662, 2084, 45, 43, 42, 41,
/* 1080 */ 40, 729, 727, 1496, 1896, 1494, 638, 655, 1892, 2115,
/* 1090 */ 655, 1892, 2151, 164, 2084, 169, 2117, 675, 2119, 2120,
/* 1100 */ 670, 2100, 665, 1174, 1175, 312, 293, 200, 1921, 652,
/* 1110 */ 623, 665, 1499, 1500, 1552, 1550, 1553, 1554, 1555, 1556,
/* 1120 */ 1557, 1558, 1559, 1560, 667, 663, 1569, 1570, 1572, 1573,
/* 1130 */ 1574, 1575, 2, 46, 44, 1737, 2242, 2116, 655, 1892,
/* 1140 */ 1736, 393, 1733, 1495, 2094, 33, 1732, 672, 1731, 2251,
/* 1150 */ 655, 1892, 655, 1892, 1576, 1612, 1493, 653, 2102, 705,
/* 1160 */ 155, 154, 702, 701, 700, 152, 1730, 142, 2098, 299,
/* 1170 */ 2175, 400, 2224, 1639, 2134, 1944, 703, 1177, 704, 1935,
/* 1180 */ 1571, 1935, 1729, 1519, 2084, 2094, 2084, 1728, 671, 2084,
/* 1190 */ 1943, 2084, 2094, 1501, 1870, 2084, 625, 2084, 1727, 2102,
/* 1200 */ 1726, 1725, 2070, 251, 2100, 377, 2103, 718, 234, 2098,
/* 1210 */ 1854, 232, 74, 592, 665, 2084, 2098, 236, 758, 2115,
/* 1220 */ 235, 15, 2151, 2116, 422, 110, 2117, 675, 2119, 2120,
/* 1230 */ 670, 2084, 665, 672, 1639, 600, 2084, 2295, 148, 2204,
/* 1240 */ 153, 441, 546, 389, 2200, 2100, 390, 2084, 1781, 2084,
/* 1250 */ 2084, 415, 2100, 238, 442, 665, 237, 1578, 1579, 1774,
/* 1260 */ 2134, 82, 665, 240, 1260, 153, 239, 1772, 711, 575,
/* 1270 */ 558, 574, 2084, 662, 671, 64, 255, 64, 261, 1717,
/* 1280 */ 1718, 560, 14, 13, 666, 2105, 1834, 1551, 1561, 563,
/* 1290 */ 1240, 2244, 274, 1577, 1580, 227, 268, 1463, 606, 1832,
/* 1300 */ 1504, 1503, 712, 1831, 153, 2115, 48, 1496, 2151, 1494,
/* 1310 */ 2135, 110, 2117, 675, 2119, 2120, 670, 286, 665, 91,
/* 1320 */ 71, 151, 1466, 2295, 1238, 2204, 406, 64, 48, 389,
/* 1330 */ 2200, 1998, 1671, 53, 1670, 263, 1499, 1500, 2107, 1550,
/* 1340 */ 1553, 1554, 1555, 1556, 1557, 1558, 1559, 1560, 667, 663,
/* 1350 */ 1569, 1570, 1572, 1573, 1574, 1575, 2, 2116, 402, 401,
/* 1360 */ 1221, 637, 153, 1423, 48, 679, 1768, 672, 1509, 2269,
/* 1370 */ 151, 1764, 153, 1759, 291, 1932, 2234, 647, 295, 1576,
/* 1380 */ 136, 1502, 631, 2116, 1613, 1562, 276, 151, 273, 1,
/* 1390 */ 5, 409, 356, 672, 2134, 2223, 414, 1222, 1446, 306,
/* 1400 */ 199, 443, 1523, 1999, 480, 1571, 2084, 447, 671, 452,
/* 1410 */ 1518, 490, 465, 1991, 479, 472, 753, 491, 1501, 1305,
/* 1420 */ 2134, 311, 1332, 1597, 481, 488, 203, 1336, 626, 1343,
/* 1430 */ 2116, 204, 2084, 493, 671, 494, 206, 1341, 496, 2115,
/* 1440 */ 672, 498, 2151, 661, 156, 110, 2117, 675, 2119, 2120,
/* 1450 */ 670, 2116, 665, 1507, 1506, 1524, 4, 2295, 499, 2204,
/* 1460 */ 507, 672, 1526, 389, 2200, 2115, 500, 2134, 2151, 508,
/* 1470 */ 510, 110, 2117, 675, 2119, 2120, 670, 1521, 665, 2084,
/* 1480 */ 1525, 671, 214, 2295, 511, 2204, 512, 216, 2134, 389,
/* 1490 */ 2200, 1527, 513, 1194, 219, 515, 221, 85, 86, 519,
/* 1500 */ 2084, 536, 671, 225, 538, 537, 112, 346, 540, 1882,
/* 1510 */ 231, 1878, 2115, 2060, 577, 2151, 2057, 2056, 170, 2117,
/* 1520 */ 675, 2119, 2120, 670, 579, 665, 233, 89, 149, 307,
/* 1530 */ 158, 159, 1510, 2115, 1505, 248, 2151, 1880, 1876, 110,
/* 1540 */ 2117, 675, 2119, 2120, 670, 160, 665, 161, 583, 252,
/* 1550 */ 582, 2179, 1453, 2204, 584, 2116, 597, 389, 2200, 607,
/* 1560 */ 587, 1513, 1515, 250, 2250, 672, 590, 645, 259, 588,
/* 1570 */ 2297, 2235, 2245, 603, 663, 1569, 1570, 1572, 1573, 1574,
/* 1580 */ 1575, 262, 2249, 8, 616, 378, 610, 2226, 598, 596,
/* 1590 */ 595, 267, 2134, 379, 139, 272, 1639, 2298, 627, 1522,
/* 1600 */ 624, 2220, 382, 635, 2084, 269, 671, 1528, 2004, 308,
/* 1610 */ 643, 281, 96, 309, 644, 648, 98, 2018, 2017, 2016,
/* 1620 */ 649, 2116, 173, 385, 270, 1893, 271, 100, 61, 102,
/* 1630 */ 2185, 672, 1936, 313, 1855, 310, 754, 2115, 302, 755,
/* 1640 */ 2151, 757, 348, 110, 2117, 675, 2119, 2120, 670, 2116,
/* 1650 */ 665, 2274, 677, 275, 337, 2177, 51, 2204, 2134, 672,
/* 1660 */ 322, 389, 2200, 336, 326, 317, 2076, 2075, 349, 2074,
/* 1670 */ 2084, 315, 671, 78, 2071, 411, 412, 1486, 1487, 192,
/* 1680 */ 416, 2116, 2069, 418, 419, 420, 2134, 2068, 357, 2066,
/* 1690 */ 424, 672, 426, 2064, 428, 79, 1449, 1448, 2084, 2065,
/* 1700 */ 671, 2030, 2029, 2115, 2028, 435, 2151, 436, 2027, 110,
/* 1710 */ 2117, 675, 2119, 2120, 670, 2026, 665, 1982, 2134, 1400,
/* 1720 */ 1981, 658, 1979, 2204, 1978, 145, 1977, 389, 2200, 1980,
/* 1730 */ 2084, 2115, 671, 1976, 2151, 1975, 1973, 111, 2117, 675,
/* 1740 */ 2119, 2120, 670, 1972, 665, 1971, 197, 453, 1970, 455,
/* 1750 */ 1984, 2204, 2116, 1969, 1968, 2203, 2200, 483, 147, 1954,
/* 1760 */ 1953, 1952, 672, 2115, 1967, 1966, 2151, 1965, 1964, 111,
/* 1770 */ 2117, 675, 2119, 2120, 670, 1963, 665, 1962, 1961, 1960,
/* 1780 */ 2116, 1959, 1958, 2204, 1957, 1956, 1955, 660, 2200, 2134,
/* 1790 */ 672, 1983, 1951, 1950, 1402, 1949, 1948, 1947, 1946, 2116,
/* 1800 */ 1945, 2084, 1276, 671, 344, 1280, 345, 1797, 205, 669,
/* 1810 */ 1796, 1272, 1795, 1793, 207, 2116, 1754, 2134, 180, 1176,
/* 1820 */ 2104, 208, 1753, 2047, 2037, 672, 76, 2025, 77, 2084,
/* 1830 */ 210, 671, 2024, 218, 673, 220, 2134, 2151, 2002, 1871,
/* 1840 */ 111, 2117, 675, 2119, 2120, 670, 181, 665, 2084, 505,
/* 1850 */ 671, 212, 2134, 1792, 2204, 1790, 1214, 384, 351, 2200,
/* 1860 */ 520, 1788, 2115, 521, 2084, 2151, 671, 522, 328, 2117,
/* 1870 */ 675, 2119, 2120, 670, 526, 665, 2116, 524, 525, 1786,
/* 1880 */ 528, 2115, 529, 530, 2151, 1784, 672, 334, 2117, 675,
/* 1890 */ 2119, 2120, 670, 532, 665, 533, 2170, 2115, 581, 2116,
/* 1900 */ 2151, 534, 1771, 335, 2117, 675, 2119, 2120, 670, 672,
/* 1910 */ 665, 615, 1770, 2134, 1750, 1873, 761, 63, 392, 1348,
/* 1920 */ 1347, 1872, 230, 1263, 1261, 2084, 1259, 671, 1258, 1257,
/* 1930 */ 305, 1256, 1250, 1782, 1255, 369, 2134, 561, 1252, 726,
/* 1940 */ 1251, 394, 1249, 1775, 728, 370, 178, 1773, 2084, 371,
/* 1950 */ 671, 564, 751, 747, 743, 739, 303, 566, 2115, 1749,
/* 1960 */ 1748, 2151, 1747, 568, 335, 2117, 675, 2119, 2120, 670,
/* 1970 */ 570, 665, 113, 1473, 1475, 1472, 1477, 27, 2046, 1455,
/* 1980 */ 67, 2115, 2036, 1457, 2151, 56, 585, 335, 2117, 675,
/* 1990 */ 2119, 2120, 670, 2116, 665, 163, 108, 2023, 586, 296,
/* 2000 */ 2021, 253, 1459, 672, 375, 2280, 29, 20, 17, 591,
/* 2010 */ 1687, 258, 59, 6, 7, 599, 601, 60, 265, 260,
/* 2020 */ 1669, 31, 266, 2105, 171, 2116, 264, 21, 65, 30,
/* 2030 */ 2134, 651, 1661, 1707, 92, 672, 1708, 22, 1702, 278,
/* 2040 */ 1701, 380, 2084, 2116, 671, 1706, 1705, 381, 176, 2022,
/* 2050 */ 1636, 1635, 58, 672, 2020, 2019, 2001, 18, 94, 95,
/* 2060 */ 284, 646, 2134, 2000, 103, 97, 283, 23, 57, 297,
/* 2070 */ 285, 282, 1667, 294, 2084, 576, 671, 24, 2151, 287,
/* 2080 */ 2134, 330, 2117, 675, 2119, 2120, 670, 292, 665, 68,
/* 2090 */ 2116, 249, 2084, 11, 671, 99, 1588, 1587, 13, 1511,
/* 2100 */ 672, 1543, 1598, 678, 177, 190, 395, 2115, 1566, 2154,
/* 2110 */ 2151, 682, 1325, 319, 2117, 675, 2119, 2120, 670, 664,
/* 2120 */ 665, 685, 1564, 37, 16, 2115, 676, 2134, 2151, 1563,
/* 2130 */ 25, 320, 2117, 675, 2119, 2120, 670, 2116, 665, 2084,
/* 2140 */ 1535, 671, 674, 26, 688, 1333, 680, 672, 1330, 1327,
/* 2150 */ 683, 686, 691, 1321, 1319, 300, 1324, 1323, 1322, 2116,
/* 2160 */ 689, 692, 104, 1342, 105, 75, 1338, 1212, 706, 672,
/* 2170 */ 1244, 1243, 2115, 301, 2134, 2151, 1242, 1241, 321, 2117,
/* 2180 */ 675, 2119, 2120, 670, 2116, 665, 2084, 1239, 671, 1237,
/* 2190 */ 1236, 1235, 1270, 716, 672, 1233, 2134, 1232, 1231, 1230,
/* 2200 */ 1229, 1228, 1227, 1267, 1265, 1224, 2116, 1223, 2084, 1220,
/* 2210 */ 671, 1219, 1218, 1217, 1789, 736, 672, 737, 738, 2115,
/* 2220 */ 1787, 2134, 2151, 740, 741, 327, 2117, 675, 2119, 2120,
/* 2230 */ 670, 742, 665, 2084, 1785, 671, 744, 746, 745, 1783,
/* 2240 */ 748, 2115, 749, 2134, 2151, 750, 1769, 331, 2117, 675,
/* 2250 */ 2119, 2120, 670, 752, 665, 2084, 1166, 671, 304, 756,
/* 2260 */ 1721, 1721, 1497, 314, 759, 760, 2115, 1746, 1721, 2151,
/* 2270 */ 2116, 1721, 323, 2117, 675, 2119, 2120, 670, 1721, 665,
/* 2280 */ 672, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 2115, 1721,
/* 2290 */ 2116, 2151, 1721, 1721, 332, 2117, 675, 2119, 2120, 670,
/* 2300 */ 672, 665, 1721, 1721, 1721, 2116, 1721, 2134, 1721, 1721,
/* 2310 */ 1721, 1721, 1721, 1721, 1721, 672, 1721, 1721, 1721, 2084,
/* 2320 */ 1721, 671, 1721, 1721, 1721, 1721, 1721, 2134, 1721, 1721,
/* 2330 */ 1721, 1721, 1721, 1721, 1721, 1721, 1721, 2116, 1721, 2084,
/* 2340 */ 1721, 671, 2134, 1721, 1721, 1721, 1721, 672, 1721, 1721,
/* 2350 */ 1721, 1721, 2115, 1721, 2084, 2151, 671, 1721, 324, 2117,
/* 2360 */ 675, 2119, 2120, 670, 1721, 665, 1721, 1721, 1721, 1721,
/* 2370 */ 1721, 1721, 2115, 1721, 2134, 2151, 1721, 1721, 333, 2117,
/* 2380 */ 675, 2119, 2120, 670, 1721, 665, 2084, 2115, 671, 1721,
/* 2390 */ 2151, 1721, 1721, 325, 2117, 675, 2119, 2120, 670, 1721,
/* 2400 */ 665, 1721, 1721, 1721, 1721, 2116, 1721, 1721, 1721, 1721,
/* 2410 */ 1721, 1721, 1721, 1721, 1721, 672, 1721, 1721, 1721, 2115,
/* 2420 */ 1721, 1721, 2151, 1721, 2116, 338, 2117, 675, 2119, 2120,
/* 2430 */ 670, 1721, 665, 1721, 672, 1721, 1721, 1721, 1721, 1721,
/* 2440 */ 1721, 1721, 2134, 1721, 1721, 1721, 1721, 1721, 1721, 1721,
/* 2450 */ 1721, 1721, 2116, 1721, 2084, 1721, 671, 1721, 1721, 1721,
/* 2460 */ 1721, 2134, 672, 1721, 1721, 1721, 1721, 1721, 1721, 1721,
/* 2470 */ 1721, 2116, 1721, 2084, 1721, 671, 1721, 1721, 1721, 1721,
/* 2480 */ 1721, 672, 1721, 1721, 1721, 1721, 1721, 2115, 1721, 2134,
/* 2490 */ 2151, 1721, 1721, 339, 2117, 675, 2119, 2120, 670, 1721,
/* 2500 */ 665, 2084, 1721, 671, 1721, 1721, 2115, 1721, 2134, 2151,
/* 2510 */ 1721, 1721, 2128, 2117, 675, 2119, 2120, 670, 2116, 665,
/* 2520 */ 2084, 1721, 671, 1721, 1721, 1721, 1721, 1721, 672, 1721,
/* 2530 */ 1721, 1721, 1721, 1721, 2115, 1721, 1721, 2151, 1721, 1721,
/* 2540 */ 2127, 2117, 675, 2119, 2120, 670, 1721, 665, 1721, 1721,
/* 2550 */ 1721, 1721, 1721, 2115, 1721, 2134, 2151, 1721, 1721, 2126,
/* 2560 */ 2117, 675, 2119, 2120, 670, 1721, 665, 2084, 1721, 671,
/* 2570 */ 1721, 1721, 1721, 1721, 1721, 2116, 1721, 1721, 1721, 1721,
/* 2580 */ 1721, 1721, 1721, 1721, 1721, 672, 1721, 1721, 1721, 1721,
/* 2590 */ 1721, 2116, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721,
/* 2600 */ 2115, 672, 1721, 2151, 1721, 1721, 353, 2117, 675, 2119,
/* 2610 */ 2120, 670, 2134, 665, 1721, 1721, 1721, 1721, 1721, 1721,
/* 2620 */ 1721, 1721, 1721, 1721, 2084, 1721, 671, 1721, 2134, 1721,
/* 2630 */ 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721,
/* 2640 */ 2084, 2116, 671, 1721, 1721, 1721, 1721, 1721, 1721, 1721,
/* 2650 */ 1721, 672, 1721, 1721, 1721, 1721, 1721, 2115, 1721, 1721,
/* 2660 */ 2151, 2116, 1721, 354, 2117, 675, 2119, 2120, 670, 1721,
/* 2670 */ 665, 672, 1721, 2115, 1721, 1721, 2151, 1721, 2134, 350,
/* 2680 */ 2117, 675, 2119, 2120, 670, 1721, 665, 1721, 1721, 1721,
/* 2690 */ 2084, 1721, 671, 1721, 1721, 1721, 1721, 1721, 2134, 1721,
/* 2700 */ 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 2116, 1721,
/* 2710 */ 2084, 1721, 671, 1721, 1721, 1721, 1721, 1721, 672, 1721,
/* 2720 */ 1721, 1721, 1721, 2115, 1721, 1721, 2151, 1721, 1721, 355,
/* 2730 */ 2117, 675, 2119, 2120, 670, 1721, 665, 1721, 1721, 1721,
/* 2740 */ 1721, 1721, 229, 673, 1721, 2134, 2151, 1721, 1721, 330,
/* 2750 */ 2117, 675, 2119, 2120, 670, 1721, 665, 2084, 172, 671,
/* 2760 */ 1721, 1721, 1721, 1721, 535, 531, 527, 523, 226, 1721,
/* 2770 */ 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721,
/* 2780 */ 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721,
/* 2790 */ 2115, 1721, 1721, 2151, 1721, 1721, 329, 2117, 675, 2119,
/* 2800 */ 2120, 670, 1721, 665, 1721, 1721, 1721, 1721, 88, 1721,
/* 2810 */ 1721, 224, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721,
/* 2820 */ 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721,
/* 2830 */ 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721,
/* 2840 */ 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721,
/* 2850 */ 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721,
/* 2860 */ 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721,
/* 2870 */ 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 223, 217,
/* 2880 */ 1721, 1721, 1721, 222, 1721, 514, 1721, 1721, 1721, 1721,
/* 2890 */ 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721,
/* 2900 */ 1721, 1721, 1721, 215,
/* 0 */ 503, 2118, 2282, 504, 1760, 2277, 36, 300, 1883, 442,
/* 10 */ 66, 674, 46, 44, 1648, 45, 43, 42, 41, 40,
/* 20 */ 395, 2281, 1497, 39, 38, 2278, 2280, 45, 43, 42,
/* 30 */ 41, 40, 1976, 1578, 1793, 1495, 657, 1894, 2136, 39,
/* 40 */ 38, 632, 140, 45, 43, 42, 41, 40, 657, 1894,
/* 50 */ 2086, 1724, 673, 342, 2012, 191, 39, 38, 573, 1573,
/* 60 */ 45, 43, 42, 41, 40, 19, 388, 133, 520, 2009,
/* 70 */ 644, 571, 1503, 569, 541, 132, 131, 130, 129, 128,
/* 80 */ 127, 126, 125, 124, 2117, 168, 2153, 1736, 198, 170,
/* 90 */ 2119, 677, 2121, 2122, 672, 511, 667, 760, 504, 1760,
/* 100 */ 15, 737, 736, 735, 734, 407, 62, 733, 732, 144,
/* 110 */ 727, 726, 725, 724, 723, 722, 721, 157, 717, 716,
/* 120 */ 715, 406, 405, 712, 711, 710, 175, 174, 84, 404,
/* 130 */ 403, 83, 1687, 656, 709, 1722, 1580, 1581, 1946, 1511,
/* 140 */ 622, 2298, 278, 2214, 631, 375, 134, 630, 1522, 2277,
/* 150 */ 1578, 123, 1504, 1944, 122, 121, 120, 119, 118, 117,
/* 160 */ 116, 115, 114, 2012, 619, 186, 1553, 1563, 1946, 2278,
/* 170 */ 621, 2282, 1579, 1582, 2277, 360, 1573, 400, 2010, 644,
/* 180 */ 1939, 1941, 656, 1944, 398, 1522, 1498, 460, 1496, 1503,
/* 190 */ 2281, 87, 162, 1717, 2278, 2279, 459, 39, 38, 376,
/* 200 */ 1896, 45, 43, 42, 41, 40, 410, 1944, 364, 582,
/* 210 */ 1522, 409, 62, 49, 663, 1501, 1502, 1889, 1552, 1555,
/* 220 */ 1556, 1557, 1558, 1559, 1560, 1561, 1562, 669, 665, 1571,
/* 230 */ 1572, 1574, 1575, 1576, 1577, 2, 46, 44, 632, 140,
/* 240 */ 1171, 345, 1523, 1520, 395, 620, 1497, 480, 2277, 12,
/* 250 */ 473, 10, 595, 487, 354, 2277, 486, 1578, 189, 1495,
/* 260 */ 443, 508, 229, 619, 186, 62, 2096, 505, 2278, 621,
/* 270 */ 2283, 186, 456, 444, 488, 2278, 621, 458, 172, 1173,
/* 280 */ 2104, 1176, 1177, 1573, 537, 533, 529, 525, 226, 19,
/* 290 */ 2100, 1523, 1716, 559, 558, 557, 1503, 1193, 1607, 1192,
/* 300 */ 549, 137, 553, 1512, 1747, 1507, 552, 202, 201, 14,
/* 310 */ 13, 551, 556, 370, 369, 50, 642, 550, 2282, 404,
/* 320 */ 403, 760, 363, 615, 15, 182, 2102, 378, 88, 1194,
/* 330 */ 479, 224, 1515, 1517, 446, 1524, 667, 1933, 634, 184,
/* 340 */ 2214, 2215, 1504, 138, 2219, 665, 1571, 1572, 1574, 1575,
/* 350 */ 1576, 1577, 664, 2086, 1608, 1746, 1411, 1412, 1428, 1429,
/* 360 */ 1580, 1581, 179, 484, 189, 189, 478, 477, 476, 475,
/* 370 */ 472, 471, 470, 469, 468, 464, 463, 462, 461, 344,
/* 380 */ 453, 452, 451, 1996, 448, 447, 361, 657, 1894, 1277,
/* 390 */ 1553, 1563, 657, 1894, 1427, 1430, 1579, 1582, 223, 217,
/* 400 */ 2221, 610, 1276, 222, 2086, 516, 133, 1356, 1357, 1621,
/* 410 */ 1498, 55, 1496, 546, 39, 38, 1710, 189, 45, 43,
/* 420 */ 42, 41, 40, 215, 1796, 1871, 2218, 1676, 35, 393,
/* 430 */ 1602, 1603, 1604, 1605, 1606, 1610, 1611, 1612, 1613, 1501,
/* 440 */ 1502, 1745, 1552, 1555, 1556, 1557, 1558, 1559, 1560, 1561,
/* 450 */ 1562, 669, 665, 1571, 1572, 1574, 1575, 1576, 1577, 2,
/* 460 */ 12, 46, 44, 2107, 489, 167, 1652, 189, 1497, 395,
/* 470 */ 367, 1497, 1522, 1835, 607, 606, 1674, 1675, 1677, 1678,
/* 480 */ 1679, 1495, 1578, 280, 1495, 179, 2118, 616, 611, 604,
/* 490 */ 2086, 559, 558, 557, 643, 1507, 671, 1588, 549, 137,
/* 500 */ 553, 1725, 1599, 1522, 552, 362, 1995, 1664, 1573, 551,
/* 510 */ 556, 370, 369, 211, 19, 550, 2109, 506, 1503, 1767,
/* 520 */ 1870, 1503, 123, 2136, 2053, 122, 121, 120, 119, 118,
/* 530 */ 117, 116, 115, 114, 614, 2086, 368, 673, 366, 365,
/* 540 */ 429, 543, 1524, 760, 213, 518, 760, 2005, 506, 15,
/* 550 */ 1767, 657, 1894, 2118, 707, 155, 154, 704, 703, 702,
/* 560 */ 152, 2136, 545, 674, 431, 427, 544, 656, 166, 2117,
/* 570 */ 247, 2153, 246, 320, 336, 2119, 677, 2121, 2122, 672,
/* 580 */ 670, 667, 658, 2171, 709, 1580, 1581, 318, 73, 2281,
/* 590 */ 2136, 72, 39, 38, 1940, 1941, 45, 43, 42, 41,
/* 600 */ 40, 389, 2086, 1521, 673, 101, 42, 41, 40, 165,
/* 610 */ 209, 499, 497, 494, 613, 1553, 1563, 1896, 1554, 39,
/* 620 */ 38, 1579, 1582, 45, 43, 42, 41, 40, 28, 1266,
/* 630 */ 1887, 1525, 1498, 12, 1496, 1498, 2117, 1496, 2153, 657,
/* 640 */ 1894, 110, 2119, 677, 2121, 2122, 672, 49, 667, 1554,
/* 650 */ 62, 143, 436, 150, 2177, 2206, 700, 435, 440, 391,
/* 660 */ 2202, 1501, 1502, 1879, 1501, 1502, 1268, 1552, 1555, 1556,
/* 670 */ 1557, 1558, 1559, 1560, 1561, 1562, 669, 665, 1571, 1572,
/* 680 */ 1574, 1575, 1576, 1577, 2, 46, 44, 1583, 109, 1946,
/* 690 */ 280, 643, 1281, 395, 87, 1497, 385, 2118, 595, 142,
/* 700 */ 620, 2277, 2177, 2277, 1944, 1280, 1578, 635, 1495, 707,
/* 710 */ 155, 154, 704, 703, 702, 152, 2283, 186, 619, 186,
/* 720 */ 1890, 2278, 621, 2278, 621, 282, 555, 554, 81, 80,
/* 730 */ 439, 1503, 1573, 193, 2136, 2096, 1946, 1193, 659, 1192,
/* 740 */ 2178, 2096, 641, 390, 2005, 1503, 2086, 701, 673, 2104,
/* 750 */ 1937, 1944, 228, 1991, 343, 1885, 1946, 425, 2221, 2100,
/* 760 */ 423, 419, 415, 412, 432, 2100, 62, 491, 93, 1194,
/* 770 */ 760, 1945, 643, 47, 2221, 398, 291, 292, 1744, 258,
/* 780 */ 2117, 290, 2153, 165, 2217, 110, 2119, 677, 2121, 2122,
/* 790 */ 672, 1896, 667, 1869, 1223, 2102, 379, 183, 194, 2206,
/* 800 */ 2216, 2102, 189, 391, 2202, 667, 1743, 32, 1742, 1580,
/* 810 */ 1581, 667, 8, 39, 38, 1741, 188, 45, 43, 42,
/* 820 */ 41, 40, 34, 652, 2232, 2005, 545, 2086, 39, 38,
/* 830 */ 544, 1224, 45, 43, 42, 41, 40, 657, 1894, 1553,
/* 840 */ 1563, 657, 1894, 39, 38, 1579, 1582, 45, 43, 42,
/* 850 */ 41, 40, 1322, 731, 729, 2086, 519, 2086, 623, 1498,
/* 860 */ 441, 1496, 2226, 1641, 2086, 657, 1894, 1313, 699, 698,
/* 870 */ 697, 1317, 696, 1319, 1320, 695, 692, 1609, 1328, 689,
/* 880 */ 1330, 1331, 686, 683, 450, 2069, 632, 140, 1501, 1502,
/* 890 */ 1740, 1552, 1555, 1556, 1557, 1558, 1559, 1560, 1561, 1562,
/* 900 */ 669, 665, 1571, 1572, 1574, 1575, 1576, 1577, 2, 46,
/* 910 */ 44, 245, 107, 1176, 1177, 62, 638, 395, 189, 1497,
/* 920 */ 719, 2118, 707, 155, 154, 704, 703, 702, 152, 141,
/* 930 */ 1578, 635, 1495, 657, 1894, 657, 1894, 1886, 661, 2086,
/* 940 */ 2178, 657, 1894, 1179, 1881, 657, 1894, 2118, 1946, 1521,
/* 950 */ 1739, 33, 465, 1645, 466, 399, 1573, 674, 2136, 1769,
/* 960 */ 1891, 1614, 595, 1944, 255, 2277, 1525, 1877, 165, 1503,
/* 970 */ 2086, 1738, 673, 1735, 632, 140, 1897, 1734, 1470, 1471,
/* 980 */ 2283, 186, 1733, 627, 2136, 2278, 621, 185, 2214, 2215,
/* 990 */ 314, 138, 2219, 1923, 760, 1898, 2086, 47, 673, 2086,
/* 1000 */ 434, 2096, 433, 164, 2117, 1991, 2153, 2118, 1732, 110,
/* 1010 */ 2119, 677, 2121, 2122, 672, 2104, 667, 674, 1525, 1731,
/* 1020 */ 2086, 183, 2086, 2206, 1641, 2100, 2086, 391, 2202, 432,
/* 1030 */ 2117, 2086, 2153, 1580, 1581, 110, 2119, 677, 2121, 2122,
/* 1040 */ 672, 244, 667, 401, 2136, 243, 1522, 2297, 2233, 2206,
/* 1050 */ 196, 165, 1730, 391, 2202, 1729, 2086, 2086, 673, 1896,
/* 1060 */ 547, 2102, 392, 1553, 1563, 657, 1894, 189, 2086, 1579,
/* 1070 */ 1582, 667, 657, 1894, 624, 187, 2214, 2215, 705, 138,
/* 1080 */ 2219, 1937, 1264, 1498, 281, 1496, 1719, 1720, 657, 1894,
/* 1090 */ 2117, 640, 2153, 1728, 424, 169, 2119, 677, 2121, 2122,
/* 1100 */ 672, 2086, 667, 251, 2086, 90, 349, 295, 1991, 374,
/* 1110 */ 668, 575, 1501, 1502, 195, 1552, 1555, 1556, 1557, 1558,
/* 1120 */ 1559, 1560, 1561, 1562, 669, 665, 1571, 1572, 1574, 1575,
/* 1130 */ 1576, 1577, 2, 46, 44, 596, 2243, 2118, 2096, 657,
/* 1140 */ 1894, 395, 2086, 1497, 657, 1894, 2072, 674, 74, 2253,
/* 1150 */ 657, 1894, 2105, 200, 1578, 1727, 1495, 153, 654, 657,
/* 1160 */ 1894, 564, 2100, 655, 706, 1872, 257, 1937, 720, 301,
/* 1170 */ 52, 1856, 3, 146, 2136, 135, 574, 577, 402, 576,
/* 1180 */ 1573, 234, 236, 548, 232, 235, 2086, 1836, 673, 153,
/* 1190 */ 242, 1783, 1554, 1503, 153, 417, 64, 82, 2102, 2079,
/* 1200 */ 238, 2080, 1644, 237, 2086, 1262, 567, 240, 667, 148,
/* 1210 */ 239, 561, 1776, 560, 54, 628, 241, 1506, 760, 1774,
/* 1220 */ 2117, 15, 2153, 2118, 64, 110, 2119, 677, 2121, 2122,
/* 1230 */ 672, 580, 667, 674, 562, 602, 256, 2297, 594, 2206,
/* 1240 */ 262, 565, 153, 391, 2202, 595, 1465, 595, 2277, 1505,
/* 1250 */ 2277, 1468, 1770, 1673, 254, 1737, 70, 1580, 1581, 69,
/* 1260 */ 2136, 14, 13, 2283, 186, 2283, 186, 48, 2278, 621,
/* 1270 */ 2278, 621, 2086, 106, 673, 288, 71, 595, 151, 91,
/* 1280 */ 2277, 1672, 608, 103, 2246, 1834, 275, 1553, 1563, 227,
/* 1290 */ 269, 1833, 2137, 1579, 1582, 2283, 186, 264, 408, 639,
/* 1300 */ 2278, 621, 755, 153, 625, 64, 2117, 1498, 2153, 1496,
/* 1310 */ 2000, 110, 2119, 677, 2121, 2122, 672, 48, 667, 48,
/* 1320 */ 681, 151, 153, 2297, 1425, 2206, 1761, 1766, 1934, 391,
/* 1330 */ 2202, 633, 293, 649, 2236, 297, 1501, 1502, 277, 1552,
/* 1340 */ 1555, 1556, 1557, 1558, 1559, 1560, 1561, 1562, 669, 665,
/* 1350 */ 1571, 1572, 1574, 1575, 1576, 1577, 2, 2118, 53, 136,
/* 1360 */ 1307, 274, 1615, 713, 151, 1, 714, 674, 9, 2271,
/* 1370 */ 1509, 411, 416, 358, 1564, 308, 313, 1334, 1338, 1345,
/* 1380 */ 199, 1448, 445, 2118, 1525, 1242, 2001, 482, 1240, 449,
/* 1390 */ 454, 1520, 481, 674, 2136, 2225, 467, 1993, 474, 483,
/* 1400 */ 492, 490, 1508, 493, 203, 204, 2086, 495, 673, 496,
/* 1410 */ 206, 498, 500, 1526, 501, 4, 1343, 509, 1528, 502,
/* 1420 */ 2136, 156, 510, 214, 512, 1523, 513, 1527, 514, 1529,
/* 1430 */ 515, 216, 2086, 517, 673, 219, 221, 85, 86, 521,
/* 1440 */ 2117, 225, 2153, 1196, 540, 110, 2119, 677, 2121, 2122,
/* 1450 */ 672, 538, 667, 539, 2062, 2118, 2059, 2297, 2058, 2206,
/* 1460 */ 542, 112, 1884, 391, 2202, 674, 2117, 2240, 2153, 231,
/* 1470 */ 1880, 110, 2119, 677, 2121, 2122, 672, 233, 667, 348,
/* 1480 */ 158, 2118, 159, 2297, 579, 2206, 1882, 1878, 160, 391,
/* 1490 */ 2202, 674, 2136, 161, 89, 248, 585, 584, 1455, 589,
/* 1500 */ 592, 252, 609, 2237, 2086, 586, 673, 149, 581, 309,
/* 1510 */ 250, 599, 2252, 590, 2118, 647, 2247, 605, 2136, 380,
/* 1520 */ 2251, 612, 591, 260, 674, 7, 2228, 263, 618, 268,
/* 1530 */ 2086, 173, 673, 600, 598, 597, 273, 2300, 2117, 626,
/* 1540 */ 2153, 381, 629, 110, 2119, 677, 2121, 2122, 672, 1641,
/* 1550 */ 667, 2136, 139, 1524, 384, 2297, 271, 2206, 2222, 637,
/* 1560 */ 1530, 391, 2202, 2086, 2117, 673, 2153, 2006, 636, 110,
/* 1570 */ 2119, 677, 2121, 2122, 672, 283, 667, 2276, 96, 312,
/* 1580 */ 270, 2181, 310, 2206, 645, 272, 646, 391, 2202, 2020,
/* 1590 */ 2019, 2118, 311, 2018, 650, 276, 98, 2117, 387, 2153,
/* 1600 */ 651, 674, 110, 2119, 677, 2121, 2122, 672, 61, 667,
/* 1610 */ 102, 1895, 2187, 100, 2179, 1938, 2206, 679, 304, 756,
/* 1620 */ 391, 2202, 2118, 757, 315, 759, 51, 339, 2136, 1857,
/* 1630 */ 319, 2078, 674, 350, 351, 324, 338, 317, 328, 2077,
/* 1640 */ 2086, 2076, 673, 78, 2073, 413, 414, 1488, 1489, 192,
/* 1650 */ 2118, 418, 2071, 420, 421, 422, 2070, 359, 2068, 2136,
/* 1660 */ 674, 426, 2067, 2066, 428, 430, 79, 1451, 1450, 2032,
/* 1670 */ 2031, 2086, 2030, 673, 2117, 437, 2153, 438, 2029, 110,
/* 1680 */ 2119, 677, 2121, 2122, 672, 2118, 667, 2136, 2028, 1984,
/* 1690 */ 1402, 660, 1983, 2206, 1981, 674, 145, 391, 2202, 2086,
/* 1700 */ 1980, 673, 1979, 1982, 1978, 2117, 1977, 2153, 1975, 1974,
/* 1710 */ 111, 2119, 677, 2121, 2122, 672, 1973, 667, 455, 197,
/* 1720 */ 1972, 457, 2136, 1986, 2206, 1971, 1970, 1969, 2205, 2202,
/* 1730 */ 1968, 1967, 1966, 2117, 2086, 2153, 673, 1965, 111, 2119,
/* 1740 */ 677, 2121, 2122, 672, 1964, 667, 1963, 1962, 1961, 1960,
/* 1750 */ 1959, 1958, 2206, 1957, 147, 1956, 662, 2202, 1955, 1954,
/* 1760 */ 1985, 1953, 1952, 1404, 1951, 1950, 1949, 485, 675, 346,
/* 1770 */ 2153, 1948, 1947, 111, 2119, 677, 2121, 2122, 672, 2118,
/* 1780 */ 667, 347, 1799, 205, 1798, 1278, 1797, 2206, 207, 674,
/* 1790 */ 1282, 353, 2202, 1795, 208, 1756, 210, 1178, 1755, 2118,
/* 1800 */ 180, 2049, 1274, 2039, 2106, 2027, 220, 2026, 2004, 674,
/* 1810 */ 2118, 1873, 76, 1794, 1792, 212, 2136, 181, 77, 218,
/* 1820 */ 674, 507, 522, 1790, 524, 526, 523, 527, 2086, 1788,
/* 1830 */ 673, 528, 530, 532, 1786, 534, 2136, 531, 535, 1773,
/* 1840 */ 1772, 536, 1216, 1752, 1875, 63, 230, 2136, 2086, 1349,
/* 1850 */ 673, 1350, 1874, 1265, 1263, 1261, 1260, 1259, 1252, 2086,
/* 1860 */ 1258, 673, 2117, 1257, 2153, 1254, 1784, 111, 2119, 677,
/* 1870 */ 2121, 2122, 672, 1253, 667, 371, 728, 730, 1777, 372,
/* 1880 */ 1251, 2206, 2117, 1775, 2153, 373, 2203, 169, 2119, 677,
/* 1890 */ 2121, 2122, 672, 2117, 667, 2153, 2118, 563, 330, 2119,
/* 1900 */ 677, 2121, 2122, 672, 566, 667, 674, 2118, 1751, 568,
/* 1910 */ 1750, 570, 1749, 572, 113, 1475, 1477, 674, 1479, 1474,
/* 1920 */ 2048, 1461, 2118, 1459, 27, 1457, 67, 2038, 2244, 163,
/* 1930 */ 2025, 587, 671, 2136, 2023, 2282, 20, 17, 1689, 601,
/* 1940 */ 59, 617, 29, 5, 2136, 2086, 6, 673, 259, 386,
/* 1950 */ 603, 253, 261, 267, 2107, 60, 2086, 1671, 673, 2136,
/* 1960 */ 171, 265, 30, 266, 56, 1663, 593, 588, 92, 31,
/* 1970 */ 21, 2086, 377, 673, 1709, 65, 1710, 22, 18, 2117,
/* 1980 */ 1704, 2153, 1703, 382, 170, 2119, 677, 2121, 2122, 672,
/* 1990 */ 2117, 667, 2153, 2118, 1708, 337, 2119, 677, 2121, 2122,
/* 2000 */ 672, 1707, 667, 674, 383, 2117, 1638, 2153, 2118, 279,
/* 2010 */ 336, 2119, 677, 2121, 2122, 672, 583, 667, 674, 2172,
/* 2020 */ 58, 176, 1637, 2024, 2022, 2021, 2003, 95, 94, 286,
/* 2030 */ 2136, 23, 2002, 97, 763, 394, 2299, 287, 1669, 289,
/* 2040 */ 294, 648, 2086, 68, 673, 2136, 296, 299, 307, 99,
/* 2050 */ 396, 103, 24, 1590, 1589, 13, 57, 2086, 1513, 673,
/* 2060 */ 2156, 666, 1600, 37, 178, 1568, 1566, 2118, 1565, 177,
/* 2070 */ 753, 749, 745, 741, 305, 16, 2117, 674, 2153, 25,
/* 2080 */ 190, 337, 2119, 677, 2121, 2122, 672, 11, 667, 1545,
/* 2090 */ 1537, 2117, 26, 2153, 678, 680, 337, 2119, 677, 2121,
/* 2100 */ 2122, 672, 2118, 667, 2136, 397, 676, 1335, 1332, 682,
/* 2110 */ 684, 685, 674, 1329, 108, 687, 2086, 298, 673, 688,
/* 2120 */ 690, 693, 1323, 1327, 1326, 1325, 302, 691, 1344, 1321,
/* 2130 */ 694, 104, 1324, 1340, 105, 1214, 708, 75, 1246, 2136,
/* 2140 */ 1245, 1244, 1243, 1241, 1239, 1238, 1272, 1237, 718, 653,
/* 2150 */ 578, 2086, 2153, 673, 1232, 332, 2119, 677, 2121, 2122,
/* 2160 */ 672, 303, 667, 1235, 2118, 1234, 1233, 1269, 1231, 1230,
/* 2170 */ 1229, 1267, 1226, 1225, 674, 1222, 1221, 1220, 1219, 1791,
/* 2180 */ 738, 740, 1789, 742, 285, 2117, 1787, 2153, 739, 284,
/* 2190 */ 321, 2119, 677, 2121, 2122, 672, 743, 667, 744, 746,
/* 2200 */ 747, 2136, 748, 1785, 750, 751, 752, 1771, 754, 249,
/* 2210 */ 1168, 1748, 306, 2086, 758, 673, 1499, 316, 761, 762,
/* 2220 */ 1723, 2118, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723,
/* 2230 */ 1723, 674, 2118, 1723, 1723, 1723, 1723, 1723, 1723, 1723,
/* 2240 */ 1723, 1723, 674, 1723, 1723, 1723, 1723, 2117, 1723, 2153,
/* 2250 */ 1723, 2118, 322, 2119, 677, 2121, 2122, 672, 2136, 667,
/* 2260 */ 1723, 674, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 2136,
/* 2270 */ 2086, 1723, 673, 1723, 1723, 1723, 1723, 1723, 1723, 1723,
/* 2280 */ 1723, 2086, 1723, 673, 1723, 1723, 1723, 1723, 2136, 1723,
/* 2290 */ 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723,
/* 2300 */ 2086, 1723, 673, 1723, 2117, 1723, 2153, 1723, 1723, 323,
/* 2310 */ 2119, 677, 2121, 2122, 672, 2117, 667, 2153, 2118, 1723,
/* 2320 */ 329, 2119, 677, 2121, 2122, 672, 1723, 667, 674, 1723,
/* 2330 */ 1723, 1723, 1723, 1723, 2117, 1723, 2153, 2118, 1723, 333,
/* 2340 */ 2119, 677, 2121, 2122, 672, 1723, 667, 674, 1723, 1723,
/* 2350 */ 1723, 1723, 1723, 2118, 1723, 2136, 1723, 1723, 1723, 1723,
/* 2360 */ 1723, 1723, 1723, 674, 1723, 1723, 1723, 2086, 2118, 673,
/* 2370 */ 1723, 1723, 1723, 1723, 2136, 1723, 1723, 1723, 674, 1723,
/* 2380 */ 1723, 1723, 1723, 1723, 2118, 1723, 2086, 1723, 673, 1723,
/* 2390 */ 2136, 1723, 1723, 1723, 674, 1723, 1723, 1723, 1723, 1723,
/* 2400 */ 1723, 2117, 2086, 2153, 673, 2136, 325, 2119, 677, 2121,
/* 2410 */ 2122, 672, 1723, 667, 1723, 1723, 1723, 2086, 1723, 673,
/* 2420 */ 2117, 2136, 2153, 1723, 1723, 334, 2119, 677, 2121, 2122,
/* 2430 */ 672, 1723, 667, 2086, 1723, 673, 2117, 1723, 2153, 1723,
/* 2440 */ 1723, 326, 2119, 677, 2121, 2122, 672, 1723, 667, 1723,
/* 2450 */ 1723, 2117, 2118, 2153, 1723, 1723, 335, 2119, 677, 2121,
/* 2460 */ 2122, 672, 674, 667, 1723, 1723, 1723, 2117, 1723, 2153,
/* 2470 */ 1723, 1723, 327, 2119, 677, 2121, 2122, 672, 1723, 667,
/* 2480 */ 1723, 1723, 1723, 2118, 1723, 1723, 1723, 1723, 1723, 2136,
/* 2490 */ 1723, 1723, 1723, 674, 1723, 1723, 1723, 1723, 1723, 1723,
/* 2500 */ 1723, 2086, 1723, 673, 1723, 1723, 1723, 1723, 1723, 1723,
/* 2510 */ 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 2118, 1723,
/* 2520 */ 2136, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 674, 1723,
/* 2530 */ 1723, 1723, 2086, 1723, 673, 2117, 1723, 2153, 1723, 1723,
/* 2540 */ 340, 2119, 677, 2121, 2122, 672, 1723, 667, 1723, 2118,
/* 2550 */ 1723, 1723, 1723, 1723, 1723, 2136, 1723, 1723, 1723, 674,
/* 2560 */ 1723, 1723, 1723, 1723, 1723, 1723, 2117, 2086, 2153, 673,
/* 2570 */ 1723, 341, 2119, 677, 2121, 2122, 672, 1723, 667, 1723,
/* 2580 */ 1723, 1723, 1723, 1723, 1723, 1723, 2136, 1723, 1723, 1723,
/* 2590 */ 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 2086, 1723,
/* 2600 */ 673, 2117, 1723, 2153, 1723, 1723, 2130, 2119, 677, 2121,
/* 2610 */ 2122, 672, 1723, 667, 1723, 2118, 1723, 1723, 1723, 1723,
/* 2620 */ 1723, 1723, 1723, 1723, 1723, 674, 1723, 1723, 1723, 1723,
/* 2630 */ 1723, 1723, 2117, 1723, 2153, 1723, 2118, 2129, 2119, 677,
/* 2640 */ 2121, 2122, 672, 1723, 667, 1723, 674, 1723, 1723, 1723,
/* 2650 */ 1723, 1723, 2136, 1723, 1723, 1723, 1723, 1723, 1723, 1723,
/* 2660 */ 1723, 1723, 2118, 1723, 2086, 1723, 673, 1723, 1723, 1723,
/* 2670 */ 1723, 1723, 674, 2136, 1723, 1723, 1723, 1723, 1723, 1723,
/* 2680 */ 1723, 2118, 1723, 1723, 1723, 2086, 1723, 673, 1723, 1723,
/* 2690 */ 1723, 674, 1723, 1723, 1723, 1723, 1723, 1723, 2117, 2136,
/* 2700 */ 2153, 1723, 1723, 2128, 2119, 677, 2121, 2122, 672, 1723,
/* 2710 */ 667, 2086, 2118, 673, 1723, 1723, 1723, 1723, 2136, 2117,
/* 2720 */ 1723, 2153, 674, 1723, 355, 2119, 677, 2121, 2122, 672,
/* 2730 */ 2086, 667, 673, 1723, 1723, 1723, 1723, 1723, 2118, 1723,
/* 2740 */ 1723, 1723, 1723, 1723, 1723, 2117, 1723, 2153, 674, 2136,
/* 2750 */ 356, 2119, 677, 2121, 2122, 672, 1723, 667, 1723, 1723,
/* 2760 */ 1723, 2086, 1723, 673, 2117, 1723, 2153, 1723, 1723, 352,
/* 2770 */ 2119, 677, 2121, 2122, 672, 2136, 667, 1723, 1723, 1723,
/* 2780 */ 1723, 1723, 1723, 1723, 1723, 1723, 1723, 2086, 1723, 673,
/* 2790 */ 1723, 1723, 1723, 1723, 1723, 2117, 1723, 2153, 1723, 1723,
/* 2800 */ 357, 2119, 677, 2121, 2122, 672, 2118, 667, 1723, 1723,
/* 2810 */ 1723, 1723, 1723, 1723, 1723, 1723, 674, 1723, 1723, 1723,
/* 2820 */ 1723, 675, 1723, 2153, 1723, 1723, 332, 2119, 677, 2121,
/* 2830 */ 2122, 672, 1723, 667, 1723, 1723, 1723, 1723, 1723, 1723,
/* 2840 */ 1723, 1723, 1723, 2136, 1723, 1723, 1723, 1723, 1723, 1723,
/* 2850 */ 1723, 1723, 1723, 1723, 1723, 2086, 1723, 673, 1723, 1723,
/* 2860 */ 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723,
/* 2870 */ 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723,
/* 2880 */ 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 1723, 2117,
/* 2890 */ 1723, 2153, 1723, 1723, 331, 2119, 677, 2121, 2122, 672,
/* 2900 */ 1723, 667,
};
static const YYCODETYPE yy_lookahead[] = {
/* 0 */ 333, 384, 371, 362, 401, 332, 401, 334, 405, 343,
/* 10 */ 343, 370, 12, 13, 14, 0, 399, 400, 377, 378,
/* 20 */ 20, 14, 22, 342, 8, 9, 385, 20, 12, 13,
/* 30 */ 14, 15, 16, 33, 0, 35, 21, 370, 20, 24,
/* 40 */ 25, 26, 27, 28, 29, 30, 31, 32, 3, 382,
/* 50 */ 447, 384, 447, 450, 388, 450, 8, 9, 351, 59,
/* 60 */ 12, 13, 14, 15, 16, 65, 359, 386, 465, 466,
/* 70 */ 465, 466, 72, 470, 471, 470, 471, 12, 13, 14,
/* 80 */ 15, 16, 415, 337, 20, 418, 340, 341, 421, 422,
/* 90 */ 423, 424, 425, 426, 369, 428, 20, 97, 436, 437,
/* 100 */ 100, 67, 68, 69, 70, 71, 381, 73, 74, 75,
/* 0 */ 337, 333, 447, 340, 341, 450, 436, 437, 371, 342,
/* 10 */ 4, 343, 12, 13, 14, 12, 13, 14, 15, 16,
/* 20 */ 20, 466, 22, 8, 9, 470, 471, 12, 13, 14,
/* 30 */ 15, 16, 0, 33, 0, 35, 342, 343, 370, 8,
/* 40 */ 9, 342, 343, 12, 13, 14, 15, 16, 342, 343,
/* 50 */ 382, 0, 384, 386, 384, 361, 8, 9, 21, 59,
/* 60 */ 12, 13, 14, 15, 16, 65, 396, 361, 64, 399,
/* 70 */ 400, 34, 72, 36, 368, 24, 25, 26, 27, 28,
/* 80 */ 29, 30, 31, 32, 416, 332, 418, 334, 59, 421,
/* 90 */ 422, 423, 424, 425, 426, 337, 428, 97, 340, 341,
/* 100 */ 100, 67, 68, 69, 70, 71, 100, 73, 74, 75,
/* 110 */ 76, 77, 78, 79, 80, 81, 82, 83, 84, 85,
/* 120 */ 86, 87, 88, 89, 90, 91, 92, 93, 461, 462,
/* 130 */ 337, 20, 97, 340, 341, 21, 136, 137, 24, 25,
/* 140 */ 26, 27, 28, 29, 30, 31, 32, 112, 113, 114,
/* 150 */ 115, 116, 117, 118, 119, 120, 121, 370, 123, 124,
/* 160 */ 125, 126, 127, 128, 100, 20, 166, 167, 20, 420,
/* 170 */ 342, 343, 172, 173, 330, 8, 9, 390, 391, 12,
/* 180 */ 13, 14, 15, 16, 166, 167, 186, 20, 188, 361,
/* 190 */ 342, 343, 362, 100, 178, 446, 368, 8, 9, 59,
/* 200 */ 370, 12, 13, 14, 15, 16, 8, 9, 378, 361,
/* 210 */ 12, 13, 14, 15, 16, 215, 216, 0, 218, 219,
/* 120 */ 86, 87, 88, 89, 90, 91, 92, 93, 99, 12,
/* 130 */ 13, 102, 101, 20, 64, 330, 136, 137, 370, 22,
/* 140 */ 472, 473, 443, 444, 445, 377, 447, 448, 20, 450,
/* 150 */ 33, 21, 35, 385, 24, 25, 26, 27, 28, 29,
/* 160 */ 30, 31, 32, 384, 465, 466, 166, 167, 370, 470,
/* 170 */ 471, 447, 172, 173, 450, 377, 59, 380, 399, 400,
/* 180 */ 383, 384, 20, 385, 362, 20, 186, 155, 188, 72,
/* 190 */ 466, 350, 370, 178, 470, 471, 164, 8, 9, 377,
/* 200 */ 378, 12, 13, 14, 15, 16, 401, 385, 367, 111,
/* 210 */ 20, 406, 100, 100, 97, 215, 216, 376, 218, 219,
/* 220 */ 220, 221, 222, 223, 224, 225, 226, 227, 228, 229,
/* 230 */ 230, 231, 232, 233, 234, 235, 12, 13, 0, 370,
/* 240 */ 100, 18, 102, 20, 20, 401, 22, 100, 100, 405,
/* 250 */ 27, 333, 447, 30, 65, 450, 33, 33, 343, 35,
/* 260 */ 391, 343, 24, 25, 26, 27, 28, 29, 30, 31,
/* 270 */ 32, 466, 49, 20, 51, 470, 471, 54, 185, 362,
/* 280 */ 187, 64, 447, 59, 22, 450, 338, 370, 370, 65,
/* 290 */ 342, 447, 344, 277, 450, 378, 72, 35, 109, 101,
/* 300 */ 382, 466, 384, 388, 384, 470, 471, 214, 447, 465,
/* 310 */ 466, 450, 64, 333, 470, 471, 396, 272, 4, 399,
/* 320 */ 400, 97, 99, 343, 100, 345, 465, 466, 35, 342,
/* 330 */ 343, 470, 471, 415, 111, 168, 418, 342, 343, 421,
/* 340 */ 422, 423, 424, 425, 426, 252, 428, 20, 361, 431,
/* 350 */ 370, 433, 434, 435, 165, 368, 361, 439, 440, 97,
/* 360 */ 136, 137, 382, 140, 384, 72, 143, 144, 145, 146,
/* 230 */ 230, 231, 232, 233, 234, 235, 12, 13, 342, 343,
/* 240 */ 4, 18, 20, 20, 20, 447, 22, 81, 450, 236,
/* 250 */ 27, 238, 447, 30, 65, 450, 33, 33, 252, 35,
/* 260 */ 22, 14, 33, 465, 466, 100, 358, 20, 470, 471,
/* 270 */ 465, 466, 49, 35, 51, 470, 471, 54, 49, 43,
/* 280 */ 372, 45, 46, 59, 55, 56, 57, 58, 59, 65,
/* 290 */ 382, 20, 277, 67, 68, 69, 72, 20, 109, 22,
/* 300 */ 74, 75, 76, 186, 333, 188, 80, 141, 142, 1,
/* 310 */ 2, 85, 86, 87, 88, 100, 20, 91, 3, 12,
/* 320 */ 13, 97, 99, 20, 100, 369, 418, 419, 99, 52,
/* 330 */ 164, 102, 215, 216, 111, 20, 428, 381, 442, 443,
/* 340 */ 444, 445, 35, 447, 448, 228, 229, 230, 231, 232,
/* 350 */ 233, 234, 65, 382, 165, 333, 166, 167, 136, 137,
/* 360 */ 136, 137, 370, 140, 252, 252, 143, 144, 145, 146,
/* 370 */ 147, 148, 149, 150, 151, 152, 153, 154, 155, 156,
/* 380 */ 157, 158, 159, 20, 161, 162, 163, 14, 20, 20,
/* 390 */ 166, 167, 252, 20, 13, 415, 172, 173, 418, 252,
/* 400 */ 252, 421, 422, 423, 424, 425, 426, 64, 428, 20,
/* 410 */ 186, 22, 188, 433, 100, 435, 35, 342, 343, 439,
/* 420 */ 440, 168, 100, 171, 342, 342, 343, 333, 239, 240,
/* 380 */ 157, 158, 159, 391, 161, 162, 163, 342, 343, 22,
/* 390 */ 166, 167, 342, 343, 172, 173, 172, 173, 169, 170,
/* 400 */ 420, 171, 35, 174, 382, 176, 361, 136, 137, 101,
/* 410 */ 186, 361, 188, 368, 8, 9, 101, 252, 12, 13,
/* 420 */ 14, 15, 16, 194, 0, 0, 446, 215, 239, 240,
/* 430 */ 241, 242, 243, 244, 245, 246, 247, 248, 249, 215,
/* 440 */ 216, 52, 218, 219, 220, 221, 222, 223, 224, 225,
/* 440 */ 216, 333, 218, 219, 220, 221, 222, 223, 224, 225,
/* 450 */ 226, 227, 228, 229, 230, 231, 232, 233, 234, 235,
/* 460 */ 236, 12, 13, 136, 137, 22, 12, 13, 100, 20,
/* 470 */ 22, 22, 67, 68, 69, 393, 382, 395, 35, 74,
/* 480 */ 75, 76, 33, 35, 35, 80, 3, 333, 2, 35,
/* 490 */ 85, 86, 87, 88, 8, 9, 91, 343, 12, 13,
/* 500 */ 14, 15, 16, 20, 20, 136, 137, 333, 59, 257,
/* 510 */ 258, 259, 215, 379, 65, 72, 382, 343, 443, 444,
/* 520 */ 445, 72, 447, 448, 370, 442, 443, 444, 445, 380,
/* 530 */ 447, 448, 383, 384, 366, 20, 382, 22, 384, 166,
/* 540 */ 97, 172, 173, 20, 370, 97, 97, 8, 9, 100,
/* 550 */ 35, 12, 13, 14, 15, 16, 382, 44, 384, 262,
/* 560 */ 263, 264, 265, 266, 267, 268, 252, 52, 18, 415,
/* 570 */ 333, 111, 418, 23, 252, 421, 422, 423, 424, 425,
/* 580 */ 426, 413, 428, 44, 101, 136, 137, 37, 38, 415,
/* 590 */ 236, 41, 418, 358, 4, 421, 422, 423, 424, 425,
/* 600 */ 426, 427, 428, 429, 430, 342, 343, 372, 348, 19,
/* 610 */ 60, 61, 62, 63, 101, 166, 167, 382, 343, 382,
/* 620 */ 252, 172, 173, 33, 361, 365, 472, 473, 338, 186,
/* 630 */ 81, 188, 342, 373, 344, 186, 0, 188, 370, 49,
/* 640 */ 370, 370, 188, 342, 54, 370, 378, 377, 377, 59,
/* 650 */ 100, 168, 168, 418, 419, 385, 385, 72, 215, 216,
/* 660 */ 4, 130, 131, 428, 215, 216, 135, 218, 219, 220,
/* 460 */ 236, 12, 13, 47, 97, 351, 14, 252, 22, 20,
/* 470 */ 37, 22, 20, 359, 262, 263, 264, 265, 266, 267,
/* 480 */ 268, 35, 33, 168, 35, 370, 333, 257, 258, 259,
/* 490 */ 382, 67, 68, 69, 342, 188, 343, 14, 74, 75,
/* 500 */ 76, 0, 215, 20, 80, 390, 391, 101, 59, 85,
/* 510 */ 86, 87, 88, 338, 65, 91, 100, 342, 72, 344,
/* 520 */ 0, 72, 21, 370, 366, 24, 25, 26, 27, 28,
/* 530 */ 29, 30, 31, 32, 343, 382, 103, 384, 105, 106,
/* 540 */ 181, 108, 20, 97, 338, 393, 97, 395, 342, 100,
/* 550 */ 344, 342, 343, 333, 129, 130, 131, 132, 133, 134,
/* 560 */ 135, 370, 129, 343, 205, 206, 133, 20, 18, 416,
/* 570 */ 361, 418, 414, 23, 421, 422, 423, 424, 425, 426,
/* 580 */ 427, 428, 429, 430, 64, 136, 137, 37, 38, 3,
/* 590 */ 370, 41, 8, 9, 383, 384, 12, 13, 14, 15,
/* 600 */ 16, 362, 382, 20, 384, 348, 14, 15, 16, 370,
/* 610 */ 60, 61, 62, 63, 423, 166, 167, 378, 166, 8,
/* 620 */ 9, 172, 173, 12, 13, 14, 15, 16, 44, 35,
/* 630 */ 373, 20, 186, 236, 188, 186, 416, 188, 418, 342,
/* 640 */ 343, 421, 422, 423, 424, 425, 426, 100, 428, 166,
/* 650 */ 100, 431, 401, 433, 434, 435, 111, 406, 361, 439,
/* 660 */ 440, 215, 216, 371, 215, 216, 72, 218, 219, 220,
/* 670 */ 221, 222, 223, 224, 225, 226, 227, 228, 229, 230,
/* 680 */ 231, 232, 233, 234, 235, 12, 13, 14, 138, 99,
/* 690 */ 141, 142, 102, 20, 393, 22, 395, 333, 423, 43,
/* 700 */ 0, 45, 46, 67, 68, 69, 33, 343, 35, 37,
/* 710 */ 74, 75, 76, 164, 342, 111, 80, 447, 342, 343,
/* 720 */ 450, 85, 86, 87, 88, 342, 343, 91, 178, 179,
/* 730 */ 180, 4, 59, 183, 370, 465, 466, 361, 383, 384,
/* 740 */ 470, 471, 72, 131, 370, 72, 382, 135, 384, 342,
/* 750 */ 343, 377, 1, 2, 204, 342, 343, 207, 371, 385,
/* 760 */ 210, 211, 212, 213, 214, 393, 333, 395, 361, 370,
/* 770 */ 97, 100, 401, 100, 361, 103, 377, 105, 106, 415,
/* 780 */ 108, 110, 418, 333, 385, 421, 422, 423, 424, 425,
/* 790 */ 426, 370, 428, 343, 0, 342, 343, 433, 377, 435,
/* 800 */ 348, 129, 252, 439, 440, 133, 385, 195, 196, 136,
/* 810 */ 137, 199, 350, 201, 361, 382, 452, 401, 447, 334,
/* 820 */ 370, 450, 355, 356, 460, 373, 443, 444, 445, 367,
/* 830 */ 447, 448, 382, 450, 384, 333, 465, 466, 376, 166,
/* 840 */ 167, 470, 471, 342, 343, 172, 173, 130, 465, 466,
/* 850 */ 342, 343, 101, 470, 471, 155, 14, 420, 236, 186,
/* 860 */ 238, 188, 20, 447, 164, 415, 450, 333, 418, 361,
/* 870 */ 371, 421, 422, 423, 424, 425, 426, 432, 428, 434,
/* 880 */ 44, 465, 466, 446, 382, 435, 470, 471, 215, 216,
/* 890 */ 440, 218, 219, 220, 221, 222, 223, 224, 225, 226,
/* 680 */ 231, 232, 233, 234, 235, 12, 13, 14, 138, 370,
/* 690 */ 168, 342, 22, 20, 350, 22, 377, 333, 447, 431,
/* 700 */ 447, 450, 434, 450, 385, 35, 33, 343, 35, 129,
/* 710 */ 130, 131, 132, 133, 134, 135, 465, 466, 465, 466,
/* 720 */ 376, 470, 471, 470, 471, 59, 355, 356, 178, 179,
/* 730 */ 180, 72, 59, 183, 370, 358, 370, 20, 432, 22,
/* 740 */ 434, 358, 393, 377, 395, 72, 382, 379, 384, 372,
/* 750 */ 382, 385, 35, 343, 204, 372, 370, 207, 420, 382,
/* 760 */ 210, 211, 212, 213, 214, 382, 100, 97, 102, 52,
/* 770 */ 97, 385, 342, 100, 420, 362, 130, 131, 333, 168,
/* 780 */ 416, 135, 418, 370, 446, 421, 422, 423, 424, 425,
/* 790 */ 426, 378, 428, 0, 35, 418, 419, 433, 388, 435,
/* 800 */ 446, 418, 252, 439, 440, 428, 333, 2, 333, 136,
/* 810 */ 137, 428, 39, 8, 9, 333, 452, 12, 13, 14,
/* 820 */ 15, 16, 2, 393, 460, 395, 129, 382, 8, 9,
/* 830 */ 133, 72, 12, 13, 14, 15, 16, 342, 343, 166,
/* 840 */ 167, 342, 343, 8, 9, 172, 173, 12, 13, 14,
/* 850 */ 15, 16, 97, 355, 356, 382, 361, 382, 272, 186,
/* 860 */ 361, 188, 250, 251, 382, 342, 343, 112, 113, 114,
/* 870 */ 115, 116, 117, 118, 119, 120, 121, 165, 123, 124,
/* 880 */ 125, 126, 127, 128, 361, 0, 342, 343, 215, 216,
/* 890 */ 333, 218, 219, 220, 221, 222, 223, 224, 225, 226,
/* 900 */ 227, 228, 229, 230, 231, 232, 233, 234, 235, 12,
/* 910 */ 13, 432, 20, 434, 197, 198, 382, 20, 181, 22,
/* 920 */ 42, 333, 44, 129, 130, 131, 132, 133, 134, 135,
/* 930 */ 33, 343, 35, 8, 9, 342, 343, 12, 13, 14,
/* 940 */ 15, 16, 205, 206, 443, 444, 445, 333, 447, 448,
/* 950 */ 59, 371, 342, 343, 361, 401, 59, 343, 370, 345,
/* 960 */ 129, 130, 131, 132, 133, 134, 135, 362, 20, 72,
/* 970 */ 382, 361, 384, 342, 343, 370, 14, 15, 16, 420,
/* 980 */ 253, 8, 9, 378, 370, 12, 13, 14, 15, 16,
/* 990 */ 99, 129, 361, 102, 97, 133, 382, 100, 384, 342,
/* 1000 */ 343, 447, 333, 415, 450, 446, 418, 333, 166, 421,
/* 1010 */ 422, 423, 424, 425, 426, 0, 428, 343, 361, 465,
/* 1020 */ 466, 433, 39, 435, 470, 471, 333, 439, 440, 415,
/* 1030 */ 0, 350, 418, 136, 137, 421, 422, 423, 424, 425,
/* 1040 */ 426, 358, 428, 406, 370, 333, 21, 433, 460, 435,
/* 1050 */ 42, 382, 44, 439, 440, 372, 382, 376, 384, 34,
/* 1060 */ 168, 36, 343, 166, 167, 382, 2, 342, 343, 172,
/* 1070 */ 173, 165, 8, 9, 101, 382, 12, 13, 14, 15,
/* 1080 */ 16, 355, 356, 186, 371, 188, 361, 342, 343, 415,
/* 1090 */ 342, 343, 418, 168, 382, 421, 422, 423, 424, 425,
/* 1100 */ 426, 418, 428, 45, 46, 363, 361, 388, 366, 361,
/* 1110 */ 274, 428, 215, 216, 166, 218, 219, 220, 221, 222,
/* 910 */ 13, 130, 348, 45, 46, 100, 401, 20, 252, 22,
/* 920 */ 72, 333, 129, 130, 131, 132, 133, 134, 135, 365,
/* 930 */ 33, 343, 35, 342, 343, 342, 343, 373, 432, 382,
/* 940 */ 434, 342, 343, 14, 371, 342, 343, 333, 370, 20,
/* 950 */ 333, 239, 361, 4, 361, 377, 59, 343, 370, 345,
/* 960 */ 361, 249, 447, 385, 361, 450, 20, 371, 370, 72,
/* 970 */ 382, 333, 384, 333, 342, 343, 378, 333, 197, 198,
/* 980 */ 465, 466, 333, 44, 370, 470, 471, 443, 444, 445,
/* 990 */ 363, 447, 448, 366, 97, 371, 382, 100, 384, 382,
/* 1000 */ 185, 358, 187, 168, 416, 343, 418, 333, 333, 421,
/* 1010 */ 422, 423, 424, 425, 426, 372, 428, 343, 20, 333,
/* 1020 */ 382, 433, 382, 435, 251, 382, 382, 439, 440, 214,
/* 1030 */ 416, 382, 418, 136, 137, 421, 422, 423, 424, 425,
/* 1040 */ 426, 131, 428, 362, 370, 135, 20, 433, 460, 435,
/* 1050 */ 388, 370, 333, 439, 440, 333, 382, 382, 384, 378,
/* 1060 */ 13, 418, 419, 166, 167, 342, 343, 252, 382, 172,
/* 1070 */ 173, 428, 342, 343, 44, 443, 444, 445, 379, 447,
/* 1080 */ 448, 382, 35, 186, 361, 188, 136, 137, 342, 343,
/* 1090 */ 416, 361, 418, 333, 209, 421, 422, 423, 424, 425,
/* 1100 */ 426, 382, 428, 371, 382, 195, 196, 361, 343, 199,
/* 1110 */ 371, 201, 215, 216, 168, 218, 219, 220, 221, 222,
/* 1120 */ 223, 224, 225, 226, 227, 228, 229, 230, 231, 232,
/* 1130 */ 233, 234, 235, 12, 13, 333, 462, 333, 342, 343,
/* 1140 */ 333, 20, 333, 22, 358, 239, 333, 343, 333, 345,
/* 1150 */ 342, 343, 342, 343, 33, 249, 35, 361, 372, 129,
/* 1160 */ 130, 131, 132, 133, 134, 135, 333, 431, 382, 361,
/* 1170 */ 434, 361, 250, 251, 370, 370, 379, 14, 379, 382,
/* 1180 */ 59, 382, 333, 20, 382, 358, 382, 333, 384, 382,
/* 1190 */ 385, 382, 358, 72, 0, 382, 44, 382, 333, 372,
/* 1200 */ 333, 333, 0, 371, 418, 419, 372, 357, 104, 382,
/* 1210 */ 360, 107, 111, 48, 428, 382, 382, 104, 97, 415,
/* 1220 */ 107, 100, 418, 333, 209, 421, 422, 423, 424, 425,
/* 1230 */ 426, 382, 428, 343, 251, 345, 382, 433, 44, 435,
/* 1240 */ 44, 22, 13, 439, 440, 418, 419, 382, 0, 382,
/* 1250 */ 382, 49, 418, 104, 35, 428, 107, 136, 137, 0,
/* 1260 */ 370, 160, 428, 104, 35, 44, 107, 0, 13, 200,
/* 1270 */ 22, 202, 382, 65, 384, 44, 59, 44, 44, 136,
/* 1280 */ 137, 22, 1, 2, 371, 47, 359, 166, 167, 22,
/* 1290 */ 35, 392, 474, 172, 173, 346, 457, 101, 463, 358,
/* 1300 */ 35, 35, 13, 358, 44, 415, 44, 186, 418, 188,
/* 1310 */ 370, 421, 422, 423, 424, 425, 426, 44, 428, 102,
/* 1320 */ 44, 44, 101, 433, 35, 435, 346, 44, 44, 439,
/* 1330 */ 440, 392, 101, 168, 101, 101, 215, 216, 100, 218,
/* 1130 */ 233, 234, 235, 12, 13, 461, 462, 333, 358, 342,
/* 1140 */ 343, 20, 382, 22, 342, 343, 0, 343, 111, 345,
/* 1150 */ 342, 343, 372, 388, 33, 333, 35, 44, 361, 342,
/* 1160 */ 343, 4, 382, 361, 379, 0, 168, 382, 357, 361,
/* 1170 */ 42, 360, 44, 42, 370, 44, 19, 200, 361, 202,
/* 1180 */ 59, 104, 104, 13, 107, 107, 382, 359, 384, 44,
/* 1190 */ 33, 0, 166, 72, 44, 49, 44, 160, 418, 401,
/* 1200 */ 104, 401, 253, 107, 382, 35, 49, 104, 428, 44,
/* 1210 */ 107, 54, 0, 22, 101, 276, 59, 35, 97, 0,
/* 1220 */ 416, 100, 418, 333, 44, 421, 422, 423, 424, 425,
/* 1230 */ 426, 401, 428, 343, 22, 345, 59, 433, 48, 435,
/* 1240 */ 44, 22, 44, 439, 440, 447, 101, 447, 450, 35,
/* 1250 */ 450, 101, 0, 101, 407, 334, 99, 136, 137, 102,
/* 1260 */ 370, 1, 2, 465, 466, 465, 466, 44, 470, 471,
/* 1270 */ 470, 471, 382, 100, 384, 44, 44, 447, 44, 102,
/* 1280 */ 450, 101, 463, 110, 392, 358, 474, 166, 167, 346,
/* 1290 */ 457, 358, 370, 172, 173, 465, 466, 101, 346, 101,
/* 1300 */ 470, 471, 50, 44, 274, 44, 416, 186, 418, 188,
/* 1310 */ 392, 421, 422, 423, 424, 425, 426, 44, 428, 44,
/* 1320 */ 44, 44, 44, 433, 101, 435, 341, 343, 381, 439,
/* 1330 */ 440, 449, 101, 101, 392, 101, 215, 216, 467, 218,
/* 1340 */ 219, 220, 221, 222, 223, 224, 225, 226, 227, 228,
/* 1350 */ 229, 230, 231, 232, 233, 234, 235, 333, 12, 13,
/* 1360 */ 35, 101, 44, 101, 44, 44, 0, 343, 22, 345,
/* 1370 */ 44, 343, 44, 341, 101, 381, 392, 101, 101, 33,
/* 1380 */ 44, 35, 449, 333, 101, 101, 467, 44, 441, 451,
/* 1390 */ 254, 417, 416, 343, 370, 345, 49, 72, 184, 403,
/* 1400 */ 42, 389, 20, 392, 165, 59, 382, 389, 384, 387,
/* 1410 */ 20, 98, 342, 342, 387, 389, 50, 354, 72, 101,
/* 1420 */ 370, 101, 101, 215, 387, 96, 353, 101, 276, 101,
/* 1430 */ 333, 342, 382, 95, 384, 352, 342, 101, 342, 415,
/* 1440 */ 343, 342, 418, 97, 101, 421, 422, 423, 424, 425,
/* 1450 */ 426, 333, 428, 188, 188, 20, 48, 433, 335, 435,
/* 1460 */ 335, 343, 20, 439, 440, 415, 339, 370, 418, 339,
/* 1470 */ 410, 421, 422, 423, 424, 425, 426, 20, 428, 382,
/* 1480 */ 20, 384, 350, 433, 384, 435, 344, 350, 370, 439,
/* 1490 */ 440, 20, 402, 53, 350, 344, 350, 350, 350, 342,
/* 1500 */ 382, 347, 384, 350, 335, 347, 342, 335, 370, 370,
/* 1510 */ 370, 370, 415, 382, 203, 418, 382, 382, 421, 422,
/* 1520 */ 423, 424, 425, 426, 414, 428, 370, 100, 412, 410,
/* 1530 */ 370, 370, 186, 415, 188, 348, 418, 370, 370, 421,
/* 1540 */ 422, 423, 424, 425, 426, 370, 428, 370, 192, 348,
/* 1550 */ 191, 433, 190, 435, 409, 333, 382, 439, 440, 261,
/* 1560 */ 384, 215, 216, 408, 456, 343, 342, 260, 397, 407,
/* 1570 */ 473, 392, 392, 382, 228, 229, 230, 231, 232, 233,
/* 1580 */ 234, 397, 456, 269, 177, 382, 382, 459, 271, 270,
/* 1590 */ 255, 458, 370, 278, 343, 417, 251, 475, 275, 20,
/* 1600 */ 273, 420, 344, 342, 382, 455, 384, 20, 395, 397,
/* 1610 */ 382, 348, 348, 397, 382, 170, 348, 382, 382, 382,
/* 1620 */ 394, 333, 456, 382, 454, 343, 453, 348, 100, 100,
/* 1630 */ 438, 343, 382, 342, 360, 366, 36, 415, 348, 336,
/* 1640 */ 418, 335, 398, 421, 422, 423, 424, 425, 426, 333,
/* 1650 */ 428, 469, 374, 468, 411, 433, 404, 435, 370, 343,
/* 1660 */ 364, 439, 440, 364, 364, 331, 0, 0, 398, 0,
/* 1670 */ 382, 349, 384, 42, 0, 35, 208, 35, 35, 35,
/* 1680 */ 208, 333, 0, 35, 35, 208, 370, 0, 208, 0,
/* 1690 */ 35, 343, 22, 0, 35, 195, 188, 186, 382, 0,
/* 1700 */ 384, 0, 0, 415, 0, 182, 418, 181, 0, 421,
/* 1710 */ 422, 423, 424, 425, 426, 0, 428, 0, 370, 47,
/* 1720 */ 0, 433, 0, 435, 0, 42, 0, 439, 440, 0,
/* 1730 */ 382, 415, 384, 0, 418, 0, 0, 421, 422, 423,
/* 1740 */ 424, 425, 426, 0, 428, 0, 155, 35, 0, 155,
/* 1750 */ 0, 435, 333, 0, 0, 439, 440, 139, 42, 0,
/* 1760 */ 0, 0, 343, 415, 0, 0, 418, 0, 0, 421,
/* 1770 */ 422, 423, 424, 425, 426, 0, 428, 0, 0, 0,
/* 1780 */ 333, 0, 0, 435, 0, 0, 0, 439, 440, 370,
/* 1790 */ 343, 0, 0, 0, 22, 0, 0, 0, 0, 333,
/* 1800 */ 0, 382, 22, 384, 48, 22, 48, 0, 59, 343,
/* 1810 */ 0, 35, 0, 0, 59, 333, 0, 370, 44, 14,
/* 1820 */ 47, 59, 0, 0, 0, 343, 39, 0, 39, 382,
/* 1830 */ 42, 384, 0, 39, 415, 177, 370, 418, 0, 0,
/* 1840 */ 421, 422, 423, 424, 425, 426, 47, 428, 382, 47,
/* 1850 */ 384, 40, 370, 0, 435, 0, 66, 375, 439, 440,
/* 1860 */ 35, 0, 415, 49, 382, 418, 384, 39, 421, 422,
/* 1870 */ 423, 424, 425, 426, 39, 428, 333, 35, 49, 0,
/* 1880 */ 35, 415, 49, 39, 418, 0, 343, 421, 422, 423,
/* 1890 */ 424, 425, 426, 35, 428, 49, 430, 415, 1, 333,
/* 1900 */ 418, 39, 0, 421, 422, 423, 424, 425, 426, 343,
/* 1910 */ 428, 464, 0, 370, 0, 0, 19, 109, 375, 35,
/* 1920 */ 22, 0, 107, 35, 35, 382, 35, 384, 35, 35,
/* 1930 */ 33, 35, 22, 0, 35, 22, 370, 51, 35, 44,
/* 1940 */ 35, 375, 35, 0, 44, 22, 49, 0, 382, 22,
/* 1950 */ 384, 35, 55, 56, 57, 58, 59, 35, 415, 0,
/* 1960 */ 0, 418, 0, 35, 421, 422, 423, 424, 425, 426,
/* 1970 */ 22, 428, 20, 35, 35, 35, 101, 100, 0, 35,
/* 1980 */ 100, 415, 0, 22, 418, 168, 22, 421, 422, 423,
/* 1990 */ 424, 425, 426, 333, 428, 189, 99, 0, 168, 102,
/* 2000 */ 0, 170, 193, 343, 168, 3, 100, 44, 256, 175,
/* 2010 */ 101, 100, 44, 48, 48, 98, 96, 44, 44, 101,
/* 2020 */ 101, 44, 47, 47, 100, 333, 100, 256, 3, 100,
/* 2030 */ 370, 134, 101, 101, 100, 343, 101, 44, 35, 47,
/* 2040 */ 35, 35, 382, 333, 384, 35, 35, 35, 47, 0,
/* 2050 */ 101, 101, 44, 343, 0, 0, 0, 256, 100, 39,
/* 2060 */ 47, 171, 370, 0, 110, 39, 169, 100, 250, 47,
/* 2070 */ 101, 174, 101, 169, 382, 415, 384, 44, 418, 100,
/* 2080 */ 370, 421, 422, 423, 424, 425, 426, 100, 428, 100,
/* 2090 */ 333, 194, 382, 237, 384, 100, 98, 98, 2, 22,
/* 2100 */ 343, 22, 215, 35, 47, 47, 35, 415, 101, 100,
/* 2110 */ 418, 35, 122, 421, 422, 423, 424, 425, 426, 100,
/* 2120 */ 428, 35, 101, 100, 100, 415, 111, 370, 418, 101,
/* 2130 */ 100, 421, 422, 423, 424, 425, 426, 333, 428, 382,
/* 2140 */ 101, 384, 217, 100, 35, 101, 100, 343, 101, 101,
/* 2150 */ 100, 100, 35, 101, 101, 44, 122, 122, 122, 333,
/* 2160 */ 100, 100, 100, 35, 100, 100, 22, 66, 65, 343,
/* 2170 */ 35, 35, 415, 44, 370, 418, 35, 35, 421, 422,
/* 2180 */ 423, 424, 425, 426, 333, 428, 382, 35, 384, 35,
/* 2190 */ 35, 35, 72, 94, 343, 35, 370, 35, 35, 22,
/* 2200 */ 35, 35, 35, 72, 35, 35, 333, 35, 382, 35,
/* 2210 */ 384, 35, 22, 35, 0, 35, 343, 49, 39, 415,
/* 2220 */ 0, 370, 418, 35, 49, 421, 422, 423, 424, 425,
/* 2230 */ 426, 39, 428, 382, 0, 384, 35, 39, 49, 0,
/* 2240 */ 35, 415, 49, 370, 418, 39, 0, 421, 422, 423,
/* 2250 */ 424, 425, 426, 35, 428, 382, 35, 384, 22, 21,
/* 2260 */ 476, 476, 22, 22, 21, 20, 415, 0, 476, 418,
/* 2270 */ 333, 476, 421, 422, 423, 424, 425, 426, 476, 428,
/* 2280 */ 343, 476, 476, 476, 476, 476, 476, 476, 415, 476,
/* 2290 */ 333, 418, 476, 476, 421, 422, 423, 424, 425, 426,
/* 2300 */ 343, 428, 476, 476, 476, 333, 476, 370, 476, 476,
/* 2310 */ 476, 476, 476, 476, 476, 343, 476, 476, 476, 382,
/* 2320 */ 476, 384, 476, 476, 476, 476, 476, 370, 476, 476,
/* 2330 */ 476, 476, 476, 476, 476, 476, 476, 333, 476, 382,
/* 2340 */ 476, 384, 370, 476, 476, 476, 476, 343, 476, 476,
/* 2350 */ 476, 476, 415, 476, 382, 418, 384, 476, 421, 422,
/* 2360 */ 423, 424, 425, 426, 476, 428, 476, 476, 476, 476,
/* 2370 */ 476, 476, 415, 476, 370, 418, 476, 476, 421, 422,
/* 2380 */ 423, 424, 425, 426, 476, 428, 382, 415, 384, 476,
/* 2390 */ 418, 476, 476, 421, 422, 423, 424, 425, 426, 476,
/* 2400 */ 428, 476, 476, 476, 476, 333, 476, 476, 476, 476,
/* 2410 */ 476, 476, 476, 476, 476, 343, 476, 476, 476, 415,
/* 2420 */ 476, 476, 418, 476, 333, 421, 422, 423, 424, 425,
/* 2430 */ 426, 476, 428, 476, 343, 476, 476, 476, 476, 476,
/* 2440 */ 476, 476, 370, 476, 476, 476, 476, 476, 476, 476,
/* 2450 */ 476, 476, 333, 476, 382, 476, 384, 476, 476, 476,
/* 2460 */ 476, 370, 343, 476, 476, 476, 476, 476, 476, 476,
/* 2470 */ 476, 333, 476, 382, 476, 384, 476, 476, 476, 476,
/* 2480 */ 476, 343, 476, 476, 476, 476, 476, 415, 476, 370,
/* 2490 */ 418, 476, 476, 421, 422, 423, 424, 425, 426, 476,
/* 2500 */ 428, 382, 476, 384, 476, 476, 415, 476, 370, 418,
/* 2510 */ 476, 476, 421, 422, 423, 424, 425, 426, 333, 428,
/* 2520 */ 382, 476, 384, 476, 476, 476, 476, 476, 343, 476,
/* 2530 */ 476, 476, 476, 476, 415, 476, 476, 418, 476, 476,
/* 2540 */ 421, 422, 423, 424, 425, 426, 476, 428, 476, 476,
/* 2550 */ 476, 476, 476, 415, 476, 370, 418, 476, 476, 421,
/* 2560 */ 422, 423, 424, 425, 426, 476, 428, 382, 476, 384,
/* 2570 */ 476, 476, 476, 476, 476, 333, 476, 476, 476, 476,
/* 2580 */ 476, 476, 476, 476, 476, 343, 476, 476, 476, 476,
/* 2590 */ 476, 333, 476, 476, 476, 476, 476, 476, 476, 476,
/* 2600 */ 415, 343, 476, 418, 476, 476, 421, 422, 423, 424,
/* 2610 */ 425, 426, 370, 428, 476, 476, 476, 476, 476, 476,
/* 2620 */ 476, 476, 476, 476, 382, 476, 384, 476, 370, 476,
/* 2630 */ 476, 476, 476, 476, 476, 476, 476, 476, 476, 476,
/* 2640 */ 382, 333, 384, 476, 476, 476, 476, 476, 476, 476,
/* 2650 */ 476, 343, 476, 476, 476, 476, 476, 415, 476, 476,
/* 2660 */ 418, 333, 476, 421, 422, 423, 424, 425, 426, 476,
/* 2670 */ 428, 343, 476, 415, 476, 476, 418, 476, 370, 421,
/* 2680 */ 422, 423, 424, 425, 426, 476, 428, 476, 476, 476,
/* 2690 */ 382, 476, 384, 476, 476, 476, 476, 476, 370, 476,
/* 2700 */ 476, 476, 476, 476, 476, 476, 476, 476, 333, 476,
/* 2710 */ 382, 476, 384, 476, 476, 476, 476, 476, 343, 476,
/* 2720 */ 476, 476, 476, 415, 476, 476, 418, 476, 476, 421,
/* 2730 */ 422, 423, 424, 425, 426, 476, 428, 476, 476, 476,
/* 2740 */ 476, 476, 33, 415, 476, 370, 418, 476, 476, 421,
/* 2750 */ 422, 423, 424, 425, 426, 476, 428, 382, 49, 384,
/* 2760 */ 476, 476, 476, 476, 55, 56, 57, 58, 59, 476,
/* 2770 */ 476, 476, 476, 476, 476, 476, 476, 476, 476, 476,
/* 2780 */ 476, 476, 476, 476, 476, 476, 476, 476, 476, 476,
/* 2790 */ 415, 476, 476, 418, 476, 476, 421, 422, 423, 424,
/* 2800 */ 425, 426, 476, 428, 476, 476, 476, 476, 99, 476,
/* 2810 */ 476, 102, 476, 476, 476, 476, 476, 476, 476, 476,
/* 2820 */ 476, 476, 476, 476, 476, 476, 476, 476, 476, 476,
/* 2830 */ 476, 476, 476, 476, 476, 476, 476, 476, 476, 476,
/* 2840 */ 476, 476, 476, 476, 476, 476, 476, 476, 476, 476,
/* 2850 */ 476, 476, 476, 476, 476, 476, 476, 476, 476, 476,
/* 1350 */ 229, 230, 231, 232, 233, 234, 235, 333, 168, 44,
/* 1360 */ 101, 441, 101, 13, 44, 451, 13, 343, 254, 345,
/* 1370 */ 188, 402, 49, 417, 101, 404, 101, 101, 101, 101,
/* 1380 */ 42, 184, 389, 333, 20, 35, 392, 165, 35, 389,
/* 1390 */ 387, 20, 387, 343, 370, 345, 342, 342, 389, 387,
/* 1400 */ 98, 96, 188, 354, 353, 342, 382, 95, 384, 352,
/* 1410 */ 342, 342, 342, 20, 335, 48, 101, 335, 20, 339,
/* 1420 */ 370, 101, 339, 350, 411, 20, 384, 20, 344, 20,
/* 1430 */ 403, 350, 382, 344, 384, 350, 350, 350, 350, 342,
/* 1440 */ 416, 350, 418, 53, 335, 421, 422, 423, 424, 425,
/* 1450 */ 426, 347, 428, 347, 382, 333, 382, 433, 382, 435,
/* 1460 */ 370, 342, 370, 439, 440, 343, 416, 345, 418, 370,
/* 1470 */ 370, 421, 422, 423, 424, 425, 426, 370, 428, 335,
/* 1480 */ 370, 333, 370, 433, 203, 435, 370, 370, 370, 439,
/* 1490 */ 440, 343, 370, 370, 100, 348, 192, 191, 190, 384,
/* 1500 */ 342, 348, 261, 392, 382, 410, 384, 413, 415, 411,
/* 1510 */ 409, 382, 456, 408, 333, 260, 392, 382, 370, 382,
/* 1520 */ 456, 382, 402, 397, 343, 269, 459, 397, 177, 458,
/* 1530 */ 382, 456, 384, 271, 270, 255, 402, 475, 416, 273,
/* 1540 */ 418, 278, 275, 421, 422, 423, 424, 425, 426, 251,
/* 1550 */ 428, 370, 343, 20, 344, 433, 454, 435, 420, 342,
/* 1560 */ 20, 439, 440, 382, 416, 384, 418, 395, 402, 421,
/* 1570 */ 422, 423, 424, 425, 426, 348, 428, 469, 348, 366,
/* 1580 */ 455, 433, 397, 435, 382, 453, 382, 439, 440, 382,
/* 1590 */ 382, 333, 397, 382, 170, 468, 348, 416, 382, 418,
/* 1600 */ 394, 343, 421, 422, 423, 424, 425, 426, 100, 428,
/* 1610 */ 100, 343, 438, 348, 433, 382, 435, 374, 348, 36,
/* 1620 */ 439, 440, 333, 336, 342, 335, 405, 412, 370, 360,
/* 1630 */ 331, 0, 343, 398, 398, 364, 364, 349, 364, 0,
/* 1640 */ 382, 0, 384, 42, 0, 35, 208, 35, 35, 35,
/* 1650 */ 333, 208, 0, 35, 35, 208, 0, 208, 0, 370,
/* 1660 */ 343, 35, 0, 0, 22, 35, 195, 188, 186, 0,
/* 1670 */ 0, 382, 0, 384, 416, 182, 418, 181, 0, 421,
/* 1680 */ 422, 423, 424, 425, 426, 333, 428, 370, 0, 0,
/* 1690 */ 47, 433, 0, 435, 0, 343, 42, 439, 440, 382,
/* 1700 */ 0, 384, 0, 0, 0, 416, 0, 418, 0, 0,
/* 1710 */ 421, 422, 423, 424, 425, 426, 0, 428, 35, 155,
/* 1720 */ 0, 155, 370, 0, 435, 0, 0, 0, 439, 440,
/* 1730 */ 0, 0, 0, 416, 382, 418, 384, 0, 421, 422,
/* 1740 */ 423, 424, 425, 426, 0, 428, 0, 0, 0, 0,
/* 1750 */ 0, 0, 435, 0, 42, 0, 439, 440, 0, 0,
/* 1760 */ 0, 0, 0, 22, 0, 0, 0, 139, 416, 48,
/* 1770 */ 418, 0, 0, 421, 422, 423, 424, 425, 426, 333,
/* 1780 */ 428, 48, 0, 59, 0, 22, 0, 435, 59, 343,
/* 1790 */ 22, 439, 440, 0, 59, 0, 42, 14, 0, 333,
/* 1800 */ 44, 0, 35, 0, 47, 0, 177, 0, 0, 343,
/* 1810 */ 333, 0, 39, 0, 0, 40, 370, 47, 39, 39,
/* 1820 */ 343, 47, 35, 0, 39, 35, 49, 49, 382, 0,
/* 1830 */ 384, 39, 35, 39, 0, 35, 370, 49, 49, 0,
/* 1840 */ 0, 39, 66, 0, 0, 109, 107, 370, 382, 22,
/* 1850 */ 384, 35, 0, 35, 35, 35, 35, 35, 22, 382,
/* 1860 */ 35, 384, 416, 35, 418, 35, 0, 421, 422, 423,
/* 1870 */ 424, 425, 426, 35, 428, 22, 44, 44, 0, 22,
/* 1880 */ 35, 435, 416, 0, 418, 22, 440, 421, 422, 423,
/* 1890 */ 424, 425, 426, 416, 428, 418, 333, 51, 421, 422,
/* 1900 */ 423, 424, 425, 426, 35, 428, 343, 333, 0, 35,
/* 1910 */ 0, 35, 0, 22, 20, 35, 35, 343, 101, 35,
/* 1920 */ 0, 193, 333, 22, 100, 35, 100, 0, 462, 189,
/* 1930 */ 0, 22, 343, 370, 0, 3, 44, 256, 101, 98,
/* 1940 */ 44, 464, 100, 48, 370, 382, 48, 384, 100, 375,
/* 1950 */ 96, 170, 101, 47, 47, 44, 382, 101, 384, 370,
/* 1960 */ 100, 100, 100, 44, 168, 101, 175, 168, 100, 44,
/* 1970 */ 256, 382, 168, 384, 101, 3, 101, 44, 256, 416,
/* 1980 */ 35, 418, 35, 35, 421, 422, 423, 424, 425, 426,
/* 1990 */ 416, 428, 418, 333, 35, 421, 422, 423, 424, 425,
/* 2000 */ 426, 35, 428, 343, 35, 416, 101, 418, 333, 47,
/* 2010 */ 421, 422, 423, 424, 425, 426, 1, 428, 343, 430,
/* 2020 */ 44, 47, 101, 0, 0, 0, 0, 39, 100, 47,
/* 2030 */ 370, 100, 0, 39, 19, 375, 473, 101, 101, 100,
/* 2040 */ 100, 171, 382, 100, 384, 370, 169, 47, 33, 100,
/* 2050 */ 375, 110, 44, 98, 98, 2, 250, 382, 22, 384,
/* 2060 */ 100, 100, 215, 100, 49, 101, 101, 333, 101, 47,
/* 2070 */ 55, 56, 57, 58, 59, 100, 416, 343, 418, 100,
/* 2080 */ 47, 421, 422, 423, 424, 425, 426, 237, 428, 22,
/* 2090 */ 101, 416, 100, 418, 111, 35, 421, 422, 423, 424,
/* 2100 */ 425, 426, 333, 428, 370, 35, 217, 101, 101, 100,
/* 2110 */ 35, 100, 343, 101, 99, 35, 382, 102, 384, 100,
/* 2120 */ 35, 35, 101, 122, 122, 122, 44, 100, 35, 101,
/* 2130 */ 100, 100, 122, 22, 100, 66, 65, 100, 35, 370,
/* 2140 */ 35, 35, 35, 35, 35, 35, 72, 35, 94, 134,
/* 2150 */ 416, 382, 418, 384, 22, 421, 422, 423, 424, 425,
/* 2160 */ 426, 44, 428, 35, 333, 35, 35, 72, 35, 35,
/* 2170 */ 35, 35, 35, 35, 343, 35, 35, 22, 35, 0,
/* 2180 */ 35, 39, 0, 35, 169, 416, 0, 418, 49, 174,
/* 2190 */ 421, 422, 423, 424, 425, 426, 49, 428, 39, 35,
/* 2200 */ 49, 370, 39, 0, 35, 49, 39, 0, 35, 194,
/* 2210 */ 35, 0, 22, 382, 21, 384, 22, 22, 21, 20,
/* 2220 */ 476, 333, 476, 476, 476, 476, 476, 476, 476, 476,
/* 2230 */ 476, 343, 333, 476, 476, 476, 476, 476, 476, 476,
/* 2240 */ 476, 476, 343, 476, 476, 476, 476, 416, 476, 418,
/* 2250 */ 476, 333, 421, 422, 423, 424, 425, 426, 370, 428,
/* 2260 */ 476, 343, 476, 476, 476, 476, 476, 476, 476, 370,
/* 2270 */ 382, 476, 384, 476, 476, 476, 476, 476, 476, 476,
/* 2280 */ 476, 382, 476, 384, 476, 476, 476, 476, 370, 476,
/* 2290 */ 476, 476, 476, 476, 476, 476, 476, 476, 476, 476,
/* 2300 */ 382, 476, 384, 476, 416, 476, 418, 476, 476, 421,
/* 2310 */ 422, 423, 424, 425, 426, 416, 428, 418, 333, 476,
/* 2320 */ 421, 422, 423, 424, 425, 426, 476, 428, 343, 476,
/* 2330 */ 476, 476, 476, 476, 416, 476, 418, 333, 476, 421,
/* 2340 */ 422, 423, 424, 425, 426, 476, 428, 343, 476, 476,
/* 2350 */ 476, 476, 476, 333, 476, 370, 476, 476, 476, 476,
/* 2360 */ 476, 476, 476, 343, 476, 476, 476, 382, 333, 384,
/* 2370 */ 476, 476, 476, 476, 370, 476, 476, 476, 343, 476,
/* 2380 */ 476, 476, 476, 476, 333, 476, 382, 476, 384, 476,
/* 2390 */ 370, 476, 476, 476, 343, 476, 476, 476, 476, 476,
/* 2400 */ 476, 416, 382, 418, 384, 370, 421, 422, 423, 424,
/* 2410 */ 425, 426, 476, 428, 476, 476, 476, 382, 476, 384,
/* 2420 */ 416, 370, 418, 476, 476, 421, 422, 423, 424, 425,
/* 2430 */ 426, 476, 428, 382, 476, 384, 416, 476, 418, 476,
/* 2440 */ 476, 421, 422, 423, 424, 425, 426, 476, 428, 476,
/* 2450 */ 476, 416, 333, 418, 476, 476, 421, 422, 423, 424,
/* 2460 */ 425, 426, 343, 428, 476, 476, 476, 416, 476, 418,
/* 2470 */ 476, 476, 421, 422, 423, 424, 425, 426, 476, 428,
/* 2480 */ 476, 476, 476, 333, 476, 476, 476, 476, 476, 370,
/* 2490 */ 476, 476, 476, 343, 476, 476, 476, 476, 476, 476,
/* 2500 */ 476, 382, 476, 384, 476, 476, 476, 476, 476, 476,
/* 2510 */ 476, 476, 476, 476, 476, 476, 476, 476, 333, 476,
/* 2520 */ 370, 476, 476, 476, 476, 476, 476, 476, 343, 476,
/* 2530 */ 476, 476, 382, 476, 384, 416, 476, 418, 476, 476,
/* 2540 */ 421, 422, 423, 424, 425, 426, 476, 428, 476, 333,
/* 2550 */ 476, 476, 476, 476, 476, 370, 476, 476, 476, 343,
/* 2560 */ 476, 476, 476, 476, 476, 476, 416, 382, 418, 384,
/* 2570 */ 476, 421, 422, 423, 424, 425, 426, 476, 428, 476,
/* 2580 */ 476, 476, 476, 476, 476, 476, 370, 476, 476, 476,
/* 2590 */ 476, 476, 476, 476, 476, 476, 476, 476, 382, 476,
/* 2600 */ 384, 416, 476, 418, 476, 476, 421, 422, 423, 424,
/* 2610 */ 425, 426, 476, 428, 476, 333, 476, 476, 476, 476,
/* 2620 */ 476, 476, 476, 476, 476, 343, 476, 476, 476, 476,
/* 2630 */ 476, 476, 416, 476, 418, 476, 333, 421, 422, 423,
/* 2640 */ 424, 425, 426, 476, 428, 476, 343, 476, 476, 476,
/* 2650 */ 476, 476, 370, 476, 476, 476, 476, 476, 476, 476,
/* 2660 */ 476, 476, 333, 476, 382, 476, 384, 476, 476, 476,
/* 2670 */ 476, 476, 343, 370, 476, 476, 476, 476, 476, 476,
/* 2680 */ 476, 333, 476, 476, 476, 382, 476, 384, 476, 476,
/* 2690 */ 476, 343, 476, 476, 476, 476, 476, 476, 416, 370,
/* 2700 */ 418, 476, 476, 421, 422, 423, 424, 425, 426, 476,
/* 2710 */ 428, 382, 333, 384, 476, 476, 476, 476, 370, 416,
/* 2720 */ 476, 418, 343, 476, 421, 422, 423, 424, 425, 426,
/* 2730 */ 382, 428, 384, 476, 476, 476, 476, 476, 333, 476,
/* 2740 */ 476, 476, 476, 476, 476, 416, 476, 418, 343, 370,
/* 2750 */ 421, 422, 423, 424, 425, 426, 476, 428, 476, 476,
/* 2760 */ 476, 382, 476, 384, 416, 476, 418, 476, 476, 421,
/* 2770 */ 422, 423, 424, 425, 426, 370, 428, 476, 476, 476,
/* 2780 */ 476, 476, 476, 476, 476, 476, 476, 382, 476, 384,
/* 2790 */ 476, 476, 476, 476, 476, 416, 476, 418, 476, 476,
/* 2800 */ 421, 422, 423, 424, 425, 426, 333, 428, 476, 476,
/* 2810 */ 476, 476, 476, 476, 476, 476, 343, 476, 476, 476,
/* 2820 */ 476, 416, 476, 418, 476, 476, 421, 422, 423, 424,
/* 2830 */ 425, 426, 476, 428, 476, 476, 476, 476, 476, 476,
/* 2840 */ 476, 476, 476, 370, 476, 476, 476, 476, 476, 476,
/* 2850 */ 476, 476, 476, 476, 476, 382, 476, 384, 476, 476,
/* 2860 */ 476, 476, 476, 476, 476, 476, 476, 476, 476, 476,
/* 2870 */ 476, 476, 476, 476, 476, 476, 476, 476, 169, 170,
/* 2880 */ 476, 476, 476, 174, 476, 176, 476, 476, 476, 476,
/* 2890 */ 476, 476, 476, 476, 476, 476, 476, 476, 476, 476,
/* 2900 */ 476, 476, 476, 194, 476, 476, 476, 476, 476, 476,
/* 2910 */ 476, 476, 476, 476, 476, 476, 476, 476, 476, 476,
/* 2920 */ 476, 476, 476, 476, 476, 476, 476, 476, 476, 476,
/* 2930 */ 476, 476, 476, 476, 476, 476, 476, 476, 476, 476,
/* 2940 */ 476, 476, 476, 476, 476, 476, 476, 476, 476, 476,
/* 2950 */ 476, 476, 476, 476, 476, 476, 476, 476, 476, 476,
/* 2960 */ 476, 476, 476, 476, 476, 476, 476, 476, 476, 476,
/* 2970 */ 476, 476, 476, 476, 476, 476, 476, 476, 476, 476,
/* 2980 */ 476, 476, 476, 476, 476, 476, 476, 476, 476, 476,
/* 2990 */ 476, 476, 476, 476, 476, 476, 476, 476, 476, 476,
/* 3000 */ 476, 476, 476, 476, 476, 476, 476, 476, 476, 476,
/* 3010 */ 476, 476, 476, 476, 476, 476, 476, 476, 476, 476,
/* 3020 */ 476, 476, 476, 476, 476, 476, 476, 476, 476, 476,
/* 3030 */ 476, 476, 476, 476, 476, 476, 476, 476, 476, 476,
/* 3040 */ 476, 476, 476, 476, 476, 476, 476, 476, 476, 476,
/* 3050 */ 476, 476, 476, 476, 476, 476, 476, 476, 476, 476,
/* 3060 */ 476, 476, 476, 476, 476, 476, 476, 476, 476, 476,
/* 3070 */ 476, 476, 476, 330, 330, 330, 330, 330, 330, 330,
/* 2870 */ 476, 476, 476, 476, 476, 476, 476, 476, 476, 476,
/* 2880 */ 476, 476, 476, 476, 476, 476, 476, 476, 476, 416,
/* 2890 */ 476, 418, 476, 476, 421, 422, 423, 424, 425, 426,
/* 2900 */ 476, 428, 330, 330, 330, 330, 330, 330, 330, 330,
/* 2910 */ 330, 330, 330, 330, 330, 330, 330, 330, 330, 330,
/* 2920 */ 330, 330, 330, 330, 330, 330, 330, 330, 330, 330,
/* 2930 */ 330, 330, 330, 330, 330, 330, 330, 330, 330, 330,
/* 2940 */ 330, 330, 330, 330, 330, 330, 330, 330, 330, 330,
/* 2950 */ 330, 330, 330, 330, 330, 330, 330, 330, 330, 330,
/* 2960 */ 330, 330, 330, 330, 330, 330, 330, 330, 330, 330,
/* 2970 */ 330, 330, 330, 330, 330, 330, 330, 330, 330, 330,
/* 2980 */ 330, 330, 330, 330, 330, 330, 330, 330, 330, 330,
/* 2990 */ 330, 330, 330, 330, 330, 330, 330, 330, 330, 330,
/* 3000 */ 330, 330, 330, 330, 330, 330, 330, 330, 330, 330,
/* 3010 */ 330, 330, 330, 330, 330, 330, 330, 330, 330, 330,
/* 3020 */ 330, 330, 330, 330, 330, 330, 330, 330, 330, 330,
/* 3030 */ 330, 330, 330, 330, 330, 330, 330, 330, 330, 330,
/* 3040 */ 330, 330, 330, 330, 330, 330, 330, 330, 330, 330,
/* 3050 */ 330, 330, 330, 330, 330, 330, 330, 330, 330, 330,
/* 3060 */ 330, 330, 330, 330, 330, 330, 330, 330, 330, 330,
/* 3070 */ 330, 330, 330, 330, 330, 330, 330, 330, 330, 330,
/* 3080 */ 330, 330, 330, 330, 330, 330, 330, 330, 330, 330,
/* 3090 */ 330, 330, 330, 330, 330, 330, 330, 330, 330, 330,
/* 3100 */ 330, 330, 330, 330, 330, 330, 330, 330, 330, 330,
......@@ -836,205 +836,205 @@ static const YYCODETYPE yy_lookahead[] = {
/* 3200 */ 330, 330, 330, 330, 330, 330, 330, 330, 330, 330,
/* 3210 */ 330, 330, 330, 330, 330, 330, 330, 330, 330, 330,
/* 3220 */ 330, 330, 330, 330, 330, 330, 330, 330, 330, 330,
/* 3230 */ 330, 330, 330, 330,
/* 3230 */ 330, 330,
};
#define YY_SHIFT_COUNT (761)
#define YY_SHIFT_COUNT (763)
#define YY_SHIFT_MIN (0)
#define YY_SHIFT_MAX (2709)
#define YY_SHIFT_MAX (2211)
static const unsigned short int yy_shift_ofst[] = {
/* 0 */ 550, 0, 224, 0, 449, 449, 449, 449, 449, 449,
/* 10 */ 449, 449, 449, 449, 449, 449, 673, 897, 897, 1121,
/* 20 */ 897, 897, 897, 897, 897, 897, 897, 897, 897, 897,
/* 30 */ 897, 897, 897, 897, 897, 897, 897, 897, 897, 897,
/* 40 */ 897, 897, 897, 897, 897, 897, 897, 897, 897, 148,
/* 50 */ 368, 93, 64, 140, 147, 322, 147, 64, 64, 1346,
/* 60 */ 1346, 1346, 147, 1346, 1346, 314, 147, 76, 369, 111,
/* 70 */ 111, 369, 656, 656, 18, 327, 7, 7, 111, 111,
/* 80 */ 111, 111, 111, 111, 111, 145, 111, 111, 248, 76,
/* 90 */ 111, 111, 363, 111, 76, 111, 145, 111, 145, 76,
/* 100 */ 111, 111, 76, 111, 76, 76, 76, 111, 343, 223,
/* 110 */ 189, 189, 405, 114, 443, 443, 443, 443, 443, 443,
/* 120 */ 443, 443, 443, 443, 443, 443, 443, 443, 443, 443,
/* 130 */ 443, 443, 443, 672, 483, 18, 327, 293, 253, 253,
/* 140 */ 253, 217, 622, 622, 293, 523, 523, 523, 248, 460,
/* 150 */ 354, 76, 585, 76, 585, 585, 604, 670, 35, 35,
/* 160 */ 35, 35, 35, 35, 35, 35, 1897, 636, 15, 167,
/* 170 */ 16, 297, 515, 252, 454, 454, 373, 842, 389, 484,
/* 180 */ 1058, 1163, 862, 892, 922, 983, 45, 922, 878, 727,
/* 190 */ 948, 1136, 1347, 1214, 1358, 1382, 1358, 1239, 1390, 1390,
/* 200 */ 1358, 1239, 1239, 1313, 1329, 1390, 1338, 1390, 1390, 1390,
/* 210 */ 1435, 1408, 1435, 1408, 1442, 248, 1457, 248, 1460, 1471,
/* 220 */ 248, 1460, 248, 248, 248, 1390, 248, 1440, 1440, 1435,
/* 230 */ 76, 76, 76, 76, 76, 76, 76, 76, 76, 76,
/* 240 */ 76, 1390, 1435, 585, 585, 585, 1311, 1427, 1442, 343,
/* 250 */ 1356, 1359, 1457, 343, 1362, 1390, 1382, 1382, 585, 1298,
/* 260 */ 1307, 585, 1298, 1307, 585, 585, 76, 1314, 1407, 1298,
/* 270 */ 1317, 1319, 1335, 1136, 1315, 1323, 1327, 1345, 523, 1579,
/* 280 */ 1390, 1460, 343, 343, 1587, 1307, 585, 585, 585, 585,
/* 290 */ 585, 1307, 585, 1445, 343, 604, 343, 523, 1528, 1529,
/* 300 */ 585, 670, 1390, 343, 1600, 1435, 2904, 2904, 2904, 2904,
/* 310 */ 2904, 2904, 2904, 2904, 2904, 34, 2709, 238, 590, 198,
/* 320 */ 539, 973, 794, 486, 1064, 925, 1030, 48, 48, 48,
/* 330 */ 48, 48, 48, 48, 48, 48, 831, 612, 65, 65,
/* 340 */ 549, 737, 700, 891, 262, 448, 1025, 717, 531, 531,
/* 350 */ 962, 751, 906, 962, 962, 962, 1202, 1015, 513, 1219,
/* 360 */ 1008, 1101, 1194, 1104, 1113, 1149, 1159, 381, 1229, 1248,
/* 370 */ 1259, 1267, 1069, 1196, 1221, 1217, 1231, 1233, 1234, 1143,
/* 380 */ 836, 1152, 1165, 1260, 1262, 1273, 1276, 1277, 1318, 1281,
/* 390 */ 1283, 1208, 1284, 1238, 1320, 1321, 1326, 1328, 1336, 1343,
/* 400 */ 671, 1265, 1266, 1255, 1289, 1325, 1366, 1666, 1667, 1669,
/* 410 */ 1631, 1674, 1640, 1468, 1642, 1643, 1644, 1472, 1682, 1648,
/* 420 */ 1649, 1477, 1687, 1480, 1689, 1655, 1699, 1670, 1693, 1659,
/* 430 */ 1500, 1508, 1511, 1701, 1702, 1704, 1523, 1526, 1708, 1715,
/* 440 */ 1672, 1717, 1720, 1722, 1683, 1724, 1726, 1729, 1733, 1735,
/* 450 */ 1736, 1743, 1745, 1591, 1712, 1748, 1594, 1750, 1753, 1754,
/* 460 */ 1764, 1765, 1767, 1768, 1775, 1777, 1778, 1779, 1781, 1782,
/* 470 */ 1784, 1785, 1786, 1716, 1759, 1760, 1761, 1791, 1792, 1793,
/* 480 */ 1772, 1795, 1796, 1797, 1618, 1798, 1800, 1780, 1756, 1783,
/* 490 */ 1758, 1807, 1749, 1776, 1810, 1755, 1812, 1762, 1813, 1816,
/* 500 */ 1788, 1787, 1774, 1773, 1799, 1805, 1802, 1822, 1811, 1789,
/* 510 */ 1823, 1824, 1827, 1794, 1658, 1832, 1838, 1839, 1790, 1853,
/* 520 */ 1855, 1825, 1814, 1828, 1861, 1842, 1829, 1835, 1879, 1845,
/* 530 */ 1833, 1844, 1885, 1858, 1846, 1862, 1902, 1912, 1914, 1915,
/* 540 */ 1808, 1815, 1884, 1898, 1921, 1888, 1889, 1891, 1893, 1894,
/* 550 */ 1896, 1899, 1895, 1900, 1903, 1905, 1910, 1907, 1933, 1913,
/* 560 */ 1943, 1923, 1886, 1947, 1927, 1916, 1959, 1922, 1960, 1928,
/* 570 */ 1962, 1948, 1952, 1938, 1939, 1940, 1875, 1877, 1978, 1817,
/* 580 */ 1880, 1809, 1944, 1961, 1982, 1806, 1964, 1830, 1831, 1997,
/* 590 */ 2000, 1836, 1834, 2002, 1963, 1752, 1906, 1909, 1911, 1965,
/* 600 */ 1917, 1966, 1920, 1918, 1968, 1973, 1919, 1924, 1926, 1929,
/* 610 */ 1931, 1974, 1975, 1976, 1934, 1977, 1771, 1932, 1935, 2025,
/* 620 */ 1993, 1801, 2003, 2005, 2006, 2010, 2011, 2012, 1949, 1950,
/* 630 */ 1992, 1818, 2008, 2001, 2049, 2054, 2055, 2056, 1958, 2020,
/* 640 */ 1773, 2013, 1967, 1969, 1971, 1979, 1987, 1890, 1989, 2063,
/* 650 */ 2026, 1904, 1995, 1954, 1773, 2022, 2033, 1998, 1856, 1999,
/* 660 */ 2096, 2077, 1887, 2009, 2007, 2019, 2021, 2023, 2028, 2057,
/* 670 */ 2024, 2030, 2058, 2039, 2079, 1925, 2043, 2015, 2044, 2068,
/* 680 */ 2071, 2046, 2047, 2076, 2050, 2048, 2086, 2051, 2052, 2109,
/* 690 */ 2060, 2053, 2117, 2061, 1990, 2034, 2035, 2036, 2062, 2111,
/* 700 */ 2064, 2128, 2065, 2111, 2111, 2144, 2101, 2103, 2135, 2136,
/* 710 */ 2141, 2142, 2152, 2154, 2155, 2156, 2120, 2099, 2129, 2160,
/* 720 */ 2162, 2163, 2177, 2165, 2166, 2167, 2131, 1895, 2169, 1900,
/* 730 */ 2170, 2172, 2174, 2176, 2190, 2178, 2214, 2180, 2168, 2179,
/* 740 */ 2220, 2188, 2175, 2192, 2234, 2201, 2189, 2198, 2239, 2205,
/* 750 */ 2193, 2206, 2246, 2218, 2221, 2267, 2236, 2238, 2240, 2241,
/* 760 */ 2243, 2245,
/* 40 */ 897, 897, 897, 897, 897, 897, 897, 897, 897, 113,
/* 50 */ 165, 815, 547, 666, 112, 215, 112, 547, 547, 117,
/* 60 */ 117, 117, 112, 117, 117, 6, 112, 128, 222, 162,
/* 70 */ 162, 222, 236, 236, 190, 271, 247, 247, 162, 162,
/* 80 */ 162, 162, 162, 162, 162, 296, 162, 162, 4, 128,
/* 90 */ 162, 162, 303, 162, 128, 162, 296, 162, 296, 128,
/* 100 */ 162, 162, 128, 162, 128, 128, 128, 162, 70, 223,
/* 110 */ 189, 189, 226, 130, 446, 446, 446, 446, 446, 446,
/* 120 */ 446, 446, 446, 446, 446, 446, 446, 446, 446, 446,
/* 130 */ 446, 446, 446, 433, 315, 190, 271, 594, 522, 522,
/* 140 */ 522, 520, 13, 13, 594, 583, 583, 583, 4, 98,
/* 150 */ 397, 128, 659, 128, 659, 659, 545, 848, 755, 755,
/* 160 */ 755, 755, 755, 755, 755, 755, 2015, 424, 501, 611,
/* 170 */ 15, 212, 717, 230, 307, 307, 452, 483, 277, 946,
/* 180 */ 868, 929, 697, 998, 612, 773, 586, 612, 1128, 949,
/* 190 */ 1026, 1114, 1323, 1197, 1338, 1364, 1338, 1222, 1371, 1371,
/* 200 */ 1338, 1222, 1222, 1302, 1305, 1371, 1312, 1371, 1371, 1371,
/* 210 */ 1393, 1367, 1393, 1367, 1398, 4, 1405, 4, 1407, 1409,
/* 220 */ 4, 1407, 4, 4, 4, 1371, 4, 1390, 1390, 1393,
/* 230 */ 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
/* 240 */ 128, 1371, 1393, 659, 659, 659, 1281, 1394, 1398, 70,
/* 250 */ 1304, 1306, 1405, 70, 1308, 1114, 1371, 1364, 1364, 659,
/* 260 */ 1241, 1255, 659, 1241, 1255, 659, 659, 128, 1256, 1351,
/* 270 */ 1241, 1262, 1264, 1280, 1114, 1263, 1267, 1266, 1298, 583,
/* 280 */ 1533, 1114, 1371, 1407, 70, 70, 1540, 1255, 659, 659,
/* 290 */ 659, 659, 659, 1255, 659, 1424, 70, 545, 70, 583,
/* 300 */ 1508, 1510, 659, 848, 1371, 70, 1583, 1393, 2902, 2902,
/* 310 */ 2902, 2902, 2902, 2902, 2902, 2902, 2902, 34, 229, 51,
/* 320 */ 1157, 31, 584, 406, 425, 805, 820, 835, 793, 48,
/* 330 */ 48, 48, 48, 48, 48, 48, 48, 48, 580, 910,
/* 340 */ 3, 3, 166, 359, 32, 29, 367, 670, 37, 781,
/* 350 */ 646, 646, 592, 308, 712, 592, 592, 592, 1146, 885,
/* 360 */ 1113, 238, 1131, 1037, 1165, 1077, 1078, 1096, 1103, 1047,
/* 370 */ 1170, 1191, 1212, 1219, 977, 1145, 1150, 1177, 1152, 1180,
/* 380 */ 1196, 950, 1030, 939, 1190, 1198, 1223, 1231, 1232, 1234,
/* 390 */ 1259, 1260, 1261, 287, 1273, 416, 1275, 1276, 1277, 1278,
/* 400 */ 1315, 1320, 1173, 1182, 1214, 1350, 1353, 759, 1252, 1631,
/* 410 */ 1639, 1641, 1601, 1644, 1610, 1438, 1612, 1613, 1614, 1443,
/* 420 */ 1652, 1618, 1619, 1447, 1656, 1449, 1658, 1626, 1662, 1642,
/* 430 */ 1663, 1630, 1471, 1479, 1482, 1669, 1670, 1672, 1493, 1496,
/* 440 */ 1678, 1688, 1643, 1689, 1692, 1694, 1654, 1700, 1702, 1703,
/* 450 */ 1704, 1706, 1708, 1709, 1716, 1564, 1683, 1720, 1566, 1723,
/* 460 */ 1725, 1726, 1727, 1730, 1731, 1732, 1737, 1744, 1746, 1747,
/* 470 */ 1748, 1749, 1750, 1751, 1753, 1712, 1755, 1758, 1759, 1760,
/* 480 */ 1761, 1762, 1741, 1764, 1765, 1766, 1628, 1771, 1772, 1763,
/* 490 */ 1721, 1768, 1733, 1782, 1724, 1767, 1784, 1729, 1786, 1735,
/* 500 */ 1793, 1795, 1754, 1773, 1756, 1757, 1770, 1783, 1774, 1798,
/* 510 */ 1775, 1779, 1801, 1803, 1805, 1780, 1629, 1807, 1808, 1811,
/* 520 */ 1776, 1813, 1814, 1787, 1777, 1785, 1823, 1790, 1778, 1792,
/* 530 */ 1829, 1797, 1788, 1794, 1834, 1800, 1789, 1802, 1839, 1840,
/* 540 */ 1843, 1844, 1736, 1739, 1816, 1827, 1852, 1818, 1819, 1820,
/* 550 */ 1821, 1822, 1825, 1828, 1832, 1833, 1830, 1838, 1836, 1845,
/* 560 */ 1866, 1853, 1878, 1857, 1846, 1883, 1863, 1869, 1908, 1874,
/* 570 */ 1910, 1876, 1912, 1891, 1894, 1880, 1881, 1884, 1817, 1824,
/* 580 */ 1920, 1796, 1826, 1728, 1890, 1901, 1927, 1740, 1909, 1799,
/* 590 */ 1781, 1930, 1934, 1804, 1791, 1932, 1892, 1681, 1842, 1837,
/* 600 */ 1848, 1895, 1841, 1898, 1854, 1851, 1896, 1911, 1856, 1860,
/* 610 */ 1861, 1862, 1864, 1919, 1906, 1907, 1868, 1925, 1714, 1873,
/* 620 */ 1875, 1972, 1933, 1722, 1945, 1947, 1948, 1959, 1966, 1969,
/* 630 */ 1905, 1921, 1962, 1806, 1976, 1974, 2023, 2024, 2025, 2026,
/* 640 */ 1928, 1988, 1757, 1982, 1931, 1936, 1937, 1939, 1940, 1870,
/* 650 */ 1943, 2032, 1994, 1877, 1949, 1941, 1757, 2000, 2008, 1955,
/* 660 */ 1850, 1956, 2053, 2036, 1847, 1960, 1964, 1961, 1965, 1963,
/* 670 */ 1967, 2022, 1975, 1979, 2033, 1989, 2067, 1889, 1992, 1983,
/* 680 */ 2006, 2060, 2070, 2009, 2007, 2075, 2011, 2012, 2080, 2019,
/* 690 */ 2021, 2085, 2027, 2028, 2086, 2030, 2001, 2002, 2003, 2010,
/* 700 */ 2031, 2082, 2034, 2093, 2037, 2082, 2082, 2111, 2069, 2071,
/* 710 */ 2103, 2105, 2106, 2107, 2108, 2109, 2110, 2112, 2074, 2054,
/* 720 */ 2117, 2128, 2130, 2131, 2132, 2133, 2134, 2135, 2095, 1832,
/* 730 */ 2136, 1833, 2137, 2138, 2140, 2141, 2155, 2143, 2179, 2145,
/* 740 */ 2139, 2142, 2182, 2148, 2147, 2159, 2186, 2164, 2151, 2163,
/* 750 */ 2203, 2169, 2156, 2167, 2207, 2173, 2175, 2211, 2190, 2193,
/* 760 */ 2194, 2195, 2197, 2199,
};
#define YY_REDUCE_COUNT (314)
#define YY_REDUCE_MIN (-397)
#define YY_REDUCE_MAX (2375)
#define YY_REDUCE_COUNT (316)
#define YY_REDUCE_MIN (-445)
#define YY_REDUCE_MAX (2473)
static const short yy_reduce_ofst[] = {
/* 0 */ -156, 364, -82, 588, -20, 614, 804, 890, 1024, 1050,
/* 10 */ 1118, 1222, 1288, 1316, 1348, 1419, 174, -333, 154, 450,
/* 20 */ 674, 1447, 1097, 1482, 1466, 1543, 1566, 1660, 1692, 1710,
/* 30 */ 1757, 1804, 1826, 1851, 1873, 1937, 1957, 1972, 2004, 2072,
/* 40 */ 2091, 2119, 2138, 2185, 2242, 2258, 2308, 2328, 2375, 383,
/* 50 */ 270, -397, 83, -395, 371, 416, 554, 75, 501, 235,
/* 60 */ 786, 827, -139, 683, 834, -195, -165, -359, -80, -172,
/* 70 */ -13, -383, -254, -207, -213, 149, -52, 290, -152, -5,
/* 80 */ 263, 376, 407, 413, 453, 82, 508, 593, 462, 271,
/* 90 */ 610, 631, 275, 657, 374, 725, 301, 745, 372, -170,
/* 100 */ 748, 796, 399, 808, -83, 421, 605, 810, 260, -319,
/* 110 */ -338, -338, -293, -327, 94, 237, 433, 502, 534, 669,
/* 120 */ 693, 712, 802, 807, 809, 813, 815, 833, 849, 854,
/* 130 */ 865, 867, 868, -275, -251, -131, 355, 467, -251, 437,
/* 140 */ 559, 452, 445, 479, 726, -334, -85, 719, 681, 168,
/* 150 */ 736, 268, 134, 805, 797, 799, 742, 850, -369, 387,
/* 160 */ 499, 580, 713, 832, 913, 713, 637, 927, 485, 899,
/* 170 */ 818, 835, 949, 839, 941, 945, 940, 940, 980, 939,
/* 180 */ 1032, 1028, 994, 984, 933, 933, 919, 933, 947, 938,
/* 190 */ 940, 974, 976, 996, 1012, 1011, 1018, 1022, 1070, 1071,
/* 200 */ 1026, 1027, 1037, 1063, 1073, 1089, 1083, 1094, 1096, 1099,
/* 210 */ 1123, 1127, 1125, 1130, 1060, 1132, 1100, 1137, 1142, 1090,
/* 220 */ 1144, 1151, 1146, 1147, 1148, 1157, 1153, 1154, 1158, 1169,
/* 230 */ 1138, 1139, 1140, 1141, 1156, 1160, 1161, 1167, 1168, 1175,
/* 240 */ 1177, 1164, 1172, 1131, 1134, 1135, 1110, 1116, 1119, 1187,
/* 250 */ 1145, 1155, 1176, 1201, 1162, 1224, 1179, 1180, 1174, 1108,
/* 260 */ 1171, 1191, 1126, 1184, 1203, 1204, 940, 1128, 1133, 1166,
/* 270 */ 1150, 1170, 1173, 1178, 1122, 1182, 1185, 933, 1251, 1181,
/* 280 */ 1261, 1258, 1263, 1264, 1213, 1212, 1228, 1232, 1235, 1236,
/* 290 */ 1237, 1216, 1241, 1226, 1268, 1269, 1279, 1282, 1192, 1278,
/* 300 */ 1250, 1274, 1291, 1290, 1303, 1306, 1252, 1243, 1244, 1270,
/* 310 */ 1296, 1299, 1300, 1322, 1334,
/* 0 */ -195, 364, 220, 588, 614, 804, 890, 1024, 1050, 1122,
/* 10 */ 1148, 1181, 1258, 1289, 1317, 1352, 153, 674, -332, 1446,
/* 20 */ 1466, 1477, 1563, 1574, 1589, 1660, 1675, 1734, 1769, 1831,
/* 30 */ 1888, 1899, 1918, 1985, 2004, 2020, 2035, 2051, 2119, 2150,
/* 40 */ 2185, 2216, 2282, 2303, 2329, 2348, 2379, 2405, 2473, -301,
/* 50 */ -202, 251, -104, 515, 798, 800, 830, 544, 632, -92,
/* 60 */ 377, 643, 253, 383, 780, -445, -276, -178, -330, -294,
/* 70 */ 45, -221, -337, -242, 115, -203, 175, 206, -306, 50,
/* 80 */ 297, 499, 523, 591, 593, 152, 495, 599, -159, -232,
/* 90 */ 209, 603, 191, 723, 319, 730, 349, 746, 430, 239,
/* 100 */ 797, 802, 366, 808, 413, 578, 681, 817, 564, -333,
/* 110 */ -430, -430, 114, -247, -29, 22, 108, 445, 473, 475,
/* 120 */ 482, 557, 617, 638, 640, 644, 649, 675, 686, 719,
/* 130 */ 722, 760, 822, -44, -20, -8, 211, 371, -20, 338,
/* 140 */ 354, 257, 306, 506, 498, 410, 662, 765, 344, 158,
/* 150 */ 268, 598, 368, 386, 699, 785, 627, 811, -363, 292,
/* 160 */ 573, 596, 624, 732, 739, 624, 847, 828, 921, 892,
/* 170 */ 812, 819, 943, 833, 927, 933, 922, 922, 952, 918,
/* 180 */ 985, 984, 947, 942, 882, 882, 871, 882, 920, 914,
/* 190 */ 922, 969, 956, 971, 993, 994, 1000, 1003, 1054, 1055,
/* 200 */ 1009, 1005, 1012, 1049, 1051, 1063, 1057, 1068, 1069, 1070,
/* 210 */ 1079, 1080, 1082, 1083, 1013, 1073, 1042, 1081, 1084, 1027,
/* 220 */ 1085, 1089, 1086, 1087, 1088, 1097, 1091, 1104, 1106, 1109,
/* 230 */ 1090, 1092, 1099, 1100, 1107, 1110, 1112, 1116, 1117, 1118,
/* 240 */ 1123, 1119, 1144, 1072, 1074, 1076, 1093, 1094, 1098, 1147,
/* 250 */ 1095, 1101, 1115, 1153, 1105, 1120, 1158, 1111, 1124, 1129,
/* 260 */ 1056, 1126, 1135, 1064, 1130, 1137, 1139, 922, 1067, 1071,
/* 270 */ 1075, 1125, 1102, 1132, 1134, 1062, 1108, 1127, 882, 1209,
/* 280 */ 1138, 1166, 1217, 1210, 1227, 1230, 1172, 1185, 1202, 1204,
/* 290 */ 1207, 1208, 1211, 1195, 1216, 1206, 1248, 1213, 1265, 1268,
/* 300 */ 1174, 1243, 1233, 1269, 1282, 1270, 1287, 1290, 1221, 1215,
/* 310 */ 1235, 1236, 1271, 1272, 1274, 1288, 1299,
};
static const YYACTIONTYPE yy_default[] = {
/* 0 */ 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719,
/* 10 */ 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719,
/* 20 */ 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719,
/* 30 */ 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719,
/* 40 */ 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719,
/* 50 */ 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719,
/* 60 */ 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719,
/* 70 */ 1719, 1719, 1719, 1719, 1992, 1719, 1719, 1719, 1719, 1719,
/* 80 */ 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1801, 1719,
/* 90 */ 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719,
/* 100 */ 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1799, 1985,
/* 110 */ 2206, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719,
/* 120 */ 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719,
/* 130 */ 1719, 1719, 1719, 1719, 2218, 1719, 1719, 1719, 2218, 2218,
/* 140 */ 2218, 1799, 2178, 2178, 1719, 1719, 1719, 1719, 1801, 2050,
/* 150 */ 1719, 1719, 1719, 1719, 1719, 1719, 1920, 1719, 1719, 1719,
/* 160 */ 1719, 1719, 1944, 1719, 1719, 1719, 2044, 1719, 1719, 2243,
/* 170 */ 2299, 1719, 1719, 2246, 1719, 1719, 1719, 1719, 1719, 1997,
/* 180 */ 1719, 1719, 1874, 2233, 2210, 2224, 2283, 2211, 2208, 2227,
/* 190 */ 1719, 2237, 1719, 2031, 1990, 1719, 1990, 1987, 1719, 1719,
/* 200 */ 1990, 1987, 1987, 1863, 1859, 1719, 1857, 1719, 1719, 1719,
/* 210 */ 1719, 1766, 1719, 1766, 1719, 1801, 1719, 1801, 1719, 1719,
/* 220 */ 1801, 1719, 1801, 1801, 1801, 1719, 1801, 1779, 1779, 1719,
/* 230 */ 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719,
/* 240 */ 1719, 1719, 1719, 1719, 1719, 1719, 2062, 2048, 1719, 1799,
/* 250 */ 2042, 2040, 1719, 1799, 2038, 1719, 1719, 1719, 1719, 2254,
/* 260 */ 2252, 1719, 2254, 2252, 1719, 1719, 1719, 2268, 2264, 2254,
/* 270 */ 2272, 2270, 2239, 2237, 2302, 2289, 2285, 2224, 1719, 1719,
/* 280 */ 1719, 1719, 1799, 1799, 1719, 2252, 1719, 1719, 1719, 1719,
/* 290 */ 1719, 2252, 1719, 1719, 1799, 1719, 1799, 1719, 1719, 1890,
/* 300 */ 1719, 1719, 1719, 1799, 1751, 1719, 2033, 2053, 2015, 2015,
/* 310 */ 1923, 1923, 1923, 1802, 1724, 1719, 1719, 1719, 1719, 1719,
/* 320 */ 1719, 1719, 1719, 1719, 1719, 1719, 1719, 2267, 2266, 2133,
/* 330 */ 1719, 2182, 2181, 2180, 2171, 2132, 1886, 1719, 2131, 2130,
/* 340 */ 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 2006, 2005,
/* 350 */ 2124, 1719, 1719, 2125, 2123, 2122, 1719, 1719, 1719, 1719,
/* 360 */ 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719,
/* 370 */ 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719,
/* 380 */ 2286, 2290, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 2207,
/* 390 */ 1719, 1719, 1719, 2106, 1719, 1719, 1719, 1719, 1719, 1719,
/* 400 */ 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719,
/* 410 */ 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719,
/* 420 */ 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719,
/* 430 */ 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719,
/* 440 */ 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719,
/* 450 */ 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719,
/* 460 */ 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719,
/* 470 */ 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719,
/* 480 */ 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719,
/* 490 */ 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719,
/* 500 */ 1719, 1719, 1756, 2111, 1719, 1719, 1719, 1719, 1719, 1719,
/* 510 */ 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719,
/* 520 */ 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719,
/* 530 */ 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719,
/* 540 */ 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719,
/* 550 */ 1719, 1719, 1840, 1839, 1719, 1719, 1719, 1719, 1719, 1719,
/* 560 */ 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719,
/* 570 */ 1719, 1719, 1719, 1719, 1719, 1719, 2115, 1719, 1719, 1719,
/* 580 */ 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719,
/* 590 */ 1719, 1719, 1719, 2282, 2240, 1719, 1719, 1719, 1719, 1719,
/* 600 */ 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719,
/* 610 */ 1719, 1719, 1719, 2106, 1719, 2265, 1719, 1719, 2280, 1719,
/* 620 */ 2284, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 2217, 2213,
/* 630 */ 1719, 1719, 2209, 1719, 1719, 1719, 1719, 1719, 1719, 1719,
/* 640 */ 2114, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719,
/* 650 */ 1719, 1719, 1719, 1719, 2105, 1719, 2168, 1719, 1719, 1719,
/* 660 */ 2202, 1719, 1719, 2153, 1719, 1719, 1719, 1719, 1719, 1719,
/* 670 */ 1719, 1719, 1719, 2115, 1719, 2118, 1719, 1719, 1719, 1719,
/* 680 */ 1719, 1917, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719,
/* 690 */ 1719, 1719, 1719, 1719, 1902, 1900, 1899, 1898, 1719, 1930,
/* 700 */ 1719, 1719, 1719, 1926, 1925, 1719, 1719, 1719, 1719, 1719,
/* 710 */ 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1820, 1719,
/* 720 */ 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1812, 1719, 1811,
/* 730 */ 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719,
/* 740 */ 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719,
/* 750 */ 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719, 1719,
/* 760 */ 1719, 1719,
/* 0 */ 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721,
/* 10 */ 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721,
/* 20 */ 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721,
/* 30 */ 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721,
/* 40 */ 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721,
/* 50 */ 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721,
/* 60 */ 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721,
/* 70 */ 1721, 1721, 1721, 1721, 1994, 1721, 1721, 1721, 1721, 1721,
/* 80 */ 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1803, 1721,
/* 90 */ 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721,
/* 100 */ 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1801, 1987,
/* 110 */ 2208, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721,
/* 120 */ 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721,
/* 130 */ 1721, 1721, 1721, 1721, 2220, 1721, 1721, 1721, 2220, 2220,
/* 140 */ 2220, 1801, 2180, 2180, 1721, 1721, 1721, 1721, 1803, 2052,
/* 150 */ 1721, 1721, 1721, 1721, 1721, 1721, 1922, 1721, 1721, 1721,
/* 160 */ 1721, 1721, 1946, 1721, 1721, 1721, 2046, 1721, 1721, 2245,
/* 170 */ 2301, 1721, 1721, 2248, 1721, 1721, 1721, 1721, 1721, 1999,
/* 180 */ 1721, 1721, 1876, 2235, 2212, 2226, 2285, 2213, 2210, 2229,
/* 190 */ 1721, 2239, 1721, 2033, 1992, 1721, 1992, 1989, 1721, 1721,
/* 200 */ 1992, 1989, 1989, 1865, 1861, 1721, 1859, 1721, 1721, 1721,
/* 210 */ 1721, 1768, 1721, 1768, 1721, 1803, 1721, 1803, 1721, 1721,
/* 220 */ 1803, 1721, 1803, 1803, 1803, 1721, 1803, 1781, 1781, 1721,
/* 230 */ 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721,
/* 240 */ 1721, 1721, 1721, 1721, 1721, 1721, 2064, 2050, 1721, 1801,
/* 250 */ 2044, 2042, 1721, 1801, 2040, 2239, 1721, 1721, 1721, 1721,
/* 260 */ 2256, 2254, 1721, 2256, 2254, 1721, 1721, 1721, 2270, 2266,
/* 270 */ 2256, 2274, 2272, 2241, 2239, 2304, 2291, 2287, 2226, 1721,
/* 280 */ 1721, 2239, 1721, 1721, 1801, 1801, 1721, 2254, 1721, 1721,
/* 290 */ 1721, 1721, 1721, 2254, 1721, 1721, 1801, 1721, 1801, 1721,
/* 300 */ 1721, 1892, 1721, 1721, 1721, 1801, 1753, 1721, 2035, 2055,
/* 310 */ 2017, 2017, 1925, 1925, 1925, 1804, 1726, 1721, 1721, 1721,
/* 320 */ 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 2269,
/* 330 */ 2268, 2135, 1721, 2184, 2183, 2182, 2173, 2134, 1888, 1721,
/* 340 */ 2133, 2132, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721,
/* 350 */ 2008, 2007, 2126, 1721, 1721, 2127, 2125, 2124, 1721, 1721,
/* 360 */ 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721,
/* 370 */ 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721,
/* 380 */ 1721, 1721, 2288, 2292, 1721, 1721, 1721, 1721, 1721, 1721,
/* 390 */ 1721, 2209, 1721, 1721, 1721, 2108, 1721, 1721, 1721, 1721,
/* 400 */ 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721,
/* 410 */ 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721,
/* 420 */ 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721,
/* 430 */ 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721,
/* 440 */ 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721,
/* 450 */ 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721,
/* 460 */ 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721,
/* 470 */ 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721,
/* 480 */ 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721,
/* 490 */ 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721,
/* 500 */ 1721, 1721, 1721, 1721, 1758, 2113, 1721, 1721, 1721, 1721,
/* 510 */ 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721,
/* 520 */ 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721,
/* 530 */ 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721,
/* 540 */ 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721,
/* 550 */ 1721, 1721, 1721, 1721, 1842, 1841, 1721, 1721, 1721, 1721,
/* 560 */ 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721,
/* 570 */ 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 2117, 1721,
/* 580 */ 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721,
/* 590 */ 1721, 1721, 1721, 1721, 1721, 2284, 2242, 1721, 1721, 1721,
/* 600 */ 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721,
/* 610 */ 1721, 1721, 1721, 1721, 1721, 2108, 1721, 2267, 1721, 1721,
/* 620 */ 2282, 1721, 2286, 1721, 1721, 1721, 1721, 1721, 1721, 1721,
/* 630 */ 2219, 2215, 1721, 1721, 2211, 1721, 1721, 1721, 1721, 1721,
/* 640 */ 1721, 1721, 2116, 1721, 1721, 1721, 1721, 1721, 1721, 1721,
/* 650 */ 1721, 1721, 1721, 1721, 1721, 1721, 2107, 1721, 2170, 1721,
/* 660 */ 1721, 1721, 2204, 1721, 1721, 2155, 1721, 1721, 1721, 1721,
/* 670 */ 1721, 1721, 1721, 1721, 1721, 2117, 1721, 2120, 1721, 1721,
/* 680 */ 1721, 1721, 1721, 1919, 1721, 1721, 1721, 1721, 1721, 1721,
/* 690 */ 1721, 1721, 1721, 1721, 1721, 1721, 1904, 1902, 1901, 1900,
/* 700 */ 1721, 1932, 1721, 1721, 1721, 1928, 1927, 1721, 1721, 1721,
/* 710 */ 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721,
/* 720 */ 1822, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1814,
/* 730 */ 1721, 1813, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721,
/* 740 */ 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721,
/* 750 */ 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721, 1721,
/* 760 */ 1721, 1721, 1721, 1721,
};
/********** End of lemon-generated parsing tables *****************************/
......@@ -1873,22 +1873,22 @@ static const char *const yyTokenName[] = {
/* 399 */ "func",
/* 400 */ "sma_func_name",
/* 401 */ "query_or_subquery",
/* 402 */ "cgroup_name",
/* 403 */ "analyze_opt",
/* 404 */ "explain_options",
/* 405 */ "insert_query",
/* 406 */ "or_replace_opt",
/* 407 */ "agg_func_opt",
/* 408 */ "bufsize_opt",
/* 409 */ "language_opt",
/* 410 */ "stream_name",
/* 411 */ "stream_options",
/* 412 */ "col_list_opt",
/* 413 */ "tag_def_or_ref_opt",
/* 414 */ "subtable_opt",
/* 415 */ "expression",
/* 416 */ "dnode_list",
/* 417 */ "where_clause_opt",
/* 402 */ "where_clause_opt",
/* 403 */ "cgroup_name",
/* 404 */ "analyze_opt",
/* 405 */ "explain_options",
/* 406 */ "insert_query",
/* 407 */ "or_replace_opt",
/* 408 */ "agg_func_opt",
/* 409 */ "bufsize_opt",
/* 410 */ "language_opt",
/* 411 */ "stream_name",
/* 412 */ "stream_options",
/* 413 */ "col_list_opt",
/* 414 */ "tag_def_or_ref_opt",
/* 415 */ "subtable_opt",
/* 416 */ "expression",
/* 417 */ "dnode_list",
/* 418 */ "literal_func",
/* 419 */ "literal_list",
/* 420 */ "table_alias",
......@@ -2254,8 +2254,8 @@ static const char *const yyRuleName[] = {
/* 297 */ "cmd ::= CREATE TOPIC not_exists_opt topic_name AS query_or_subquery",
/* 298 */ "cmd ::= CREATE TOPIC not_exists_opt topic_name AS DATABASE db_name",
/* 299 */ "cmd ::= CREATE TOPIC not_exists_opt topic_name WITH META AS DATABASE db_name",
/* 300 */ "cmd ::= CREATE TOPIC not_exists_opt topic_name AS STABLE full_table_name",
/* 301 */ "cmd ::= CREATE TOPIC not_exists_opt topic_name WITH META AS STABLE full_table_name",
/* 300 */ "cmd ::= CREATE TOPIC not_exists_opt topic_name AS STABLE full_table_name where_clause_opt",
/* 301 */ "cmd ::= CREATE TOPIC not_exists_opt topic_name WITH META AS STABLE full_table_name where_clause_opt",
/* 302 */ "cmd ::= DROP TOPIC exists_opt topic_name",
/* 303 */ "cmd ::= DROP CONSUMER GROUP exists_opt cgroup_name ON topic_name",
/* 304 */ "cmd ::= DESC full_table_name",
......@@ -2695,12 +2695,12 @@ static void yy_destructor(
case 398: /* sma_stream_opt */
case 399: /* func */
case 401: /* query_or_subquery */
case 404: /* explain_options */
case 405: /* insert_query */
case 411: /* stream_options */
case 414: /* subtable_opt */
case 415: /* expression */
case 417: /* where_clause_opt */
case 402: /* where_clause_opt */
case 405: /* explain_options */
case 406: /* insert_query */
case 412: /* stream_options */
case 415: /* subtable_opt */
case 416: /* expression */
case 418: /* literal_func */
case 421: /* expr_or_subquery */
case 422: /* pseudo_column */
......@@ -2745,7 +2745,7 @@ static void yy_destructor(
case 332: /* alter_account_options */
case 334: /* alter_account_option */
case 352: /* speed_opt */
case 408: /* bufsize_opt */
case 409: /* bufsize_opt */
{
}
......@@ -2760,9 +2760,9 @@ static void yy_destructor(
case 392: /* column_alias */
case 395: /* index_name */
case 400: /* sma_func_name */
case 402: /* cgroup_name */
case 409: /* language_opt */
case 410: /* stream_name */
case 403: /* cgroup_name */
case 410: /* language_opt */
case 411: /* stream_name */
case 420: /* table_alias */
case 426: /* star_func */
case 428: /* noarg_func */
......@@ -2791,9 +2791,9 @@ static void yy_destructor(
case 347: /* force_opt */
case 348: /* not_exists_opt */
case 350: /* exists_opt */
case 403: /* analyze_opt */
case 406: /* or_replace_opt */
case 407: /* agg_func_opt */
case 404: /* analyze_opt */
case 407: /* or_replace_opt */
case 408: /* agg_func_opt */
case 451: /* set_quantifier_opt */
{
......@@ -2814,9 +2814,9 @@ static void yy_destructor(
case 380: /* rollup_func_list */
case 390: /* tag_list_opt */
case 396: /* func_list */
case 412: /* col_list_opt */
case 413: /* tag_def_or_ref_opt */
case 416: /* dnode_list */
case 413: /* col_list_opt */
case 414: /* tag_def_or_ref_opt */
case 417: /* dnode_list */
case 419: /* literal_list */
case 427: /* star_func_para_list */
case 429: /* other_para_list */
......@@ -3455,8 +3455,8 @@ static const YYCODETYPE yyRuleInfoLhs[] = {
330, /* (297) cmd ::= CREATE TOPIC not_exists_opt topic_name AS query_or_subquery */
330, /* (298) cmd ::= CREATE TOPIC not_exists_opt topic_name AS DATABASE db_name */
330, /* (299) cmd ::= CREATE TOPIC not_exists_opt topic_name WITH META AS DATABASE db_name */
330, /* (300) cmd ::= CREATE TOPIC not_exists_opt topic_name AS STABLE full_table_name */
330, /* (301) cmd ::= CREATE TOPIC not_exists_opt topic_name WITH META AS STABLE full_table_name */
330, /* (300) cmd ::= CREATE TOPIC not_exists_opt topic_name AS STABLE full_table_name where_clause_opt */
330, /* (301) cmd ::= CREATE TOPIC not_exists_opt topic_name WITH META AS STABLE full_table_name where_clause_opt */
330, /* (302) cmd ::= DROP TOPIC exists_opt topic_name */
330, /* (303) cmd ::= DROP CONSUMER GROUP exists_opt cgroup_name ON topic_name */
330, /* (304) cmd ::= DESC full_table_name */
......@@ -3464,39 +3464,39 @@ static const YYCODETYPE yyRuleInfoLhs[] = {
330, /* (306) cmd ::= RESET QUERY CACHE */
330, /* (307) cmd ::= EXPLAIN analyze_opt explain_options query_or_subquery */
330, /* (308) cmd ::= EXPLAIN analyze_opt explain_options insert_query */
403, /* (309) analyze_opt ::= */
403, /* (310) analyze_opt ::= ANALYZE */
404, /* (311) explain_options ::= */
404, /* (312) explain_options ::= explain_options VERBOSE NK_BOOL */
404, /* (313) explain_options ::= explain_options RATIO NK_FLOAT */
404, /* (309) analyze_opt ::= */
404, /* (310) analyze_opt ::= ANALYZE */
405, /* (311) explain_options ::= */
405, /* (312) explain_options ::= explain_options VERBOSE NK_BOOL */
405, /* (313) explain_options ::= explain_options RATIO NK_FLOAT */
330, /* (314) cmd ::= CREATE or_replace_opt agg_func_opt FUNCTION not_exists_opt function_name AS NK_STRING OUTPUTTYPE type_name bufsize_opt language_opt */
330, /* (315) cmd ::= DROP FUNCTION exists_opt function_name */
407, /* (316) agg_func_opt ::= */
407, /* (317) agg_func_opt ::= AGGREGATE */
408, /* (318) bufsize_opt ::= */
408, /* (319) bufsize_opt ::= BUFSIZE NK_INTEGER */
409, /* (320) language_opt ::= */
409, /* (321) language_opt ::= LANGUAGE NK_STRING */
406, /* (322) or_replace_opt ::= */
406, /* (323) or_replace_opt ::= OR REPLACE */
408, /* (316) agg_func_opt ::= */
408, /* (317) agg_func_opt ::= AGGREGATE */
409, /* (318) bufsize_opt ::= */
409, /* (319) bufsize_opt ::= BUFSIZE NK_INTEGER */
410, /* (320) language_opt ::= */
410, /* (321) language_opt ::= LANGUAGE NK_STRING */
407, /* (322) or_replace_opt ::= */
407, /* (323) or_replace_opt ::= OR REPLACE */
330, /* (324) cmd ::= CREATE STREAM not_exists_opt stream_name stream_options INTO full_table_name col_list_opt tag_def_or_ref_opt subtable_opt AS query_or_subquery */
330, /* (325) cmd ::= DROP STREAM exists_opt stream_name */
412, /* (326) col_list_opt ::= */
412, /* (327) col_list_opt ::= NK_LP col_name_list NK_RP */
413, /* (328) tag_def_or_ref_opt ::= */
413, /* (329) tag_def_or_ref_opt ::= tags_def */
413, /* (330) tag_def_or_ref_opt ::= TAGS NK_LP col_name_list NK_RP */
411, /* (331) stream_options ::= */
411, /* (332) stream_options ::= stream_options TRIGGER AT_ONCE */
411, /* (333) stream_options ::= stream_options TRIGGER WINDOW_CLOSE */
411, /* (334) stream_options ::= stream_options TRIGGER MAX_DELAY duration_literal */
411, /* (335) stream_options ::= stream_options WATERMARK duration_literal */
411, /* (336) stream_options ::= stream_options IGNORE EXPIRED NK_INTEGER */
411, /* (337) stream_options ::= stream_options FILL_HISTORY NK_INTEGER */
411, /* (338) stream_options ::= stream_options DELETE_MARK duration_literal */
411, /* (339) stream_options ::= stream_options IGNORE UPDATE NK_INTEGER */
414, /* (340) subtable_opt ::= */
414, /* (341) subtable_opt ::= SUBTABLE NK_LP expression NK_RP */
413, /* (326) col_list_opt ::= */
413, /* (327) col_list_opt ::= NK_LP col_name_list NK_RP */
414, /* (328) tag_def_or_ref_opt ::= */
414, /* (329) tag_def_or_ref_opt ::= tags_def */
414, /* (330) tag_def_or_ref_opt ::= TAGS NK_LP col_name_list NK_RP */
412, /* (331) stream_options ::= */
412, /* (332) stream_options ::= stream_options TRIGGER AT_ONCE */
412, /* (333) stream_options ::= stream_options TRIGGER WINDOW_CLOSE */
412, /* (334) stream_options ::= stream_options TRIGGER MAX_DELAY duration_literal */
412, /* (335) stream_options ::= stream_options WATERMARK duration_literal */
412, /* (336) stream_options ::= stream_options IGNORE EXPIRED NK_INTEGER */
412, /* (337) stream_options ::= stream_options FILL_HISTORY NK_INTEGER */
412, /* (338) stream_options ::= stream_options DELETE_MARK duration_literal */
412, /* (339) stream_options ::= stream_options IGNORE UPDATE NK_INTEGER */
415, /* (340) subtable_opt ::= */
415, /* (341) subtable_opt ::= SUBTABLE NK_LP expression NK_RP */
330, /* (342) cmd ::= KILL CONNECTION NK_INTEGER */
330, /* (343) cmd ::= KILL QUERY NK_STRING */
330, /* (344) cmd ::= KILL TRANSACTION NK_INTEGER */
......@@ -3505,13 +3505,13 @@ static const YYCODETYPE yyRuleInfoLhs[] = {
330, /* (347) cmd ::= MERGE VGROUP NK_INTEGER NK_INTEGER */
330, /* (348) cmd ::= REDISTRIBUTE VGROUP NK_INTEGER dnode_list */
330, /* (349) cmd ::= SPLIT VGROUP NK_INTEGER */
416, /* (350) dnode_list ::= DNODE NK_INTEGER */
416, /* (351) dnode_list ::= dnode_list DNODE NK_INTEGER */
417, /* (350) dnode_list ::= DNODE NK_INTEGER */
417, /* (351) dnode_list ::= dnode_list DNODE NK_INTEGER */
330, /* (352) cmd ::= DELETE FROM full_table_name where_clause_opt */
330, /* (353) cmd ::= query_or_subquery */
330, /* (354) cmd ::= insert_query */
405, /* (355) insert_query ::= INSERT INTO full_table_name NK_LP col_name_list NK_RP query_or_subquery */
405, /* (356) insert_query ::= INSERT INTO full_table_name query_or_subquery */
406, /* (355) insert_query ::= INSERT INTO full_table_name NK_LP col_name_list NK_RP query_or_subquery */
406, /* (356) insert_query ::= INSERT INTO full_table_name query_or_subquery */
333, /* (357) literal ::= NK_INTEGER */
333, /* (358) literal ::= NK_FLOAT */
333, /* (359) literal ::= NK_STRING */
......@@ -3545,26 +3545,26 @@ static const YYCODETYPE yyRuleInfoLhs[] = {
392, /* (387) column_alias ::= NK_ID */
335, /* (388) user_name ::= NK_ID */
344, /* (389) topic_name ::= NK_ID */
410, /* (390) stream_name ::= NK_ID */
402, /* (391) cgroup_name ::= NK_ID */
411, /* (390) stream_name ::= NK_ID */
403, /* (391) cgroup_name ::= NK_ID */
395, /* (392) index_name ::= NK_ID */
421, /* (393) expr_or_subquery ::= expression */
415, /* (394) expression ::= literal */
415, /* (395) expression ::= pseudo_column */
415, /* (396) expression ::= column_reference */
415, /* (397) expression ::= function_expression */
415, /* (398) expression ::= case_when_expression */
415, /* (399) expression ::= NK_LP expression NK_RP */
415, /* (400) expression ::= NK_PLUS expr_or_subquery */
415, /* (401) expression ::= NK_MINUS expr_or_subquery */
415, /* (402) expression ::= expr_or_subquery NK_PLUS expr_or_subquery */
415, /* (403) expression ::= expr_or_subquery NK_MINUS expr_or_subquery */
415, /* (404) expression ::= expr_or_subquery NK_STAR expr_or_subquery */
415, /* (405) expression ::= expr_or_subquery NK_SLASH expr_or_subquery */
415, /* (406) expression ::= expr_or_subquery NK_REM expr_or_subquery */
415, /* (407) expression ::= column_reference NK_ARROW NK_STRING */
415, /* (408) expression ::= expr_or_subquery NK_BITAND expr_or_subquery */
415, /* (409) expression ::= expr_or_subquery NK_BITOR expr_or_subquery */
416, /* (394) expression ::= literal */
416, /* (395) expression ::= pseudo_column */
416, /* (396) expression ::= column_reference */
416, /* (397) expression ::= function_expression */
416, /* (398) expression ::= case_when_expression */
416, /* (399) expression ::= NK_LP expression NK_RP */
416, /* (400) expression ::= NK_PLUS expr_or_subquery */
416, /* (401) expression ::= NK_MINUS expr_or_subquery */
416, /* (402) expression ::= expr_or_subquery NK_PLUS expr_or_subquery */
416, /* (403) expression ::= expr_or_subquery NK_MINUS expr_or_subquery */
416, /* (404) expression ::= expr_or_subquery NK_STAR expr_or_subquery */
416, /* (405) expression ::= expr_or_subquery NK_SLASH expr_or_subquery */
416, /* (406) expression ::= expr_or_subquery NK_REM expr_or_subquery */
416, /* (407) expression ::= column_reference NK_ARROW NK_STRING */
416, /* (408) expression ::= expr_or_subquery NK_BITAND expr_or_subquery */
416, /* (409) expression ::= expr_or_subquery NK_BITOR expr_or_subquery */
375, /* (410) expression_list ::= expr_or_subquery */
375, /* (411) expression_list ::= expression_list NK_COMMA expr_or_subquery */
423, /* (412) column_reference ::= column_name */
......@@ -3670,8 +3670,8 @@ static const YYCODETYPE yyRuleInfoLhs[] = {
460, /* (512) select_item ::= common_expression column_alias */
460, /* (513) select_item ::= common_expression AS column_alias */
460, /* (514) select_item ::= table_name NK_DOT NK_STAR */
417, /* (515) where_clause_opt ::= */
417, /* (516) where_clause_opt ::= WHERE search_condition */
402, /* (515) where_clause_opt ::= */
402, /* (516) where_clause_opt ::= WHERE search_condition */
453, /* (517) partition_by_clause_opt ::= */
453, /* (518) partition_by_clause_opt ::= PARTITION BY partition_list */
461, /* (519) partition_list ::= partition_item */
......@@ -4043,8 +4043,8 @@ static const signed char yyRuleInfoNRhs[] = {
-6, /* (297) cmd ::= CREATE TOPIC not_exists_opt topic_name AS query_or_subquery */
-7, /* (298) cmd ::= CREATE TOPIC not_exists_opt topic_name AS DATABASE db_name */
-9, /* (299) cmd ::= CREATE TOPIC not_exists_opt topic_name WITH META AS DATABASE db_name */
-7, /* (300) cmd ::= CREATE TOPIC not_exists_opt topic_name AS STABLE full_table_name */
-9, /* (301) cmd ::= CREATE TOPIC not_exists_opt topic_name WITH META AS STABLE full_table_name */
-8, /* (300) cmd ::= CREATE TOPIC not_exists_opt topic_name AS STABLE full_table_name where_clause_opt */
-10, /* (301) cmd ::= CREATE TOPIC not_exists_opt topic_name WITH META AS STABLE full_table_name where_clause_opt */
-4, /* (302) cmd ::= DROP TOPIC exists_opt topic_name */
-7, /* (303) cmd ::= DROP CONSUMER GROUP exists_opt cgroup_name ON topic_name */
-2, /* (304) cmd ::= DESC full_table_name */
......@@ -5390,11 +5390,11 @@ static YYACTIONTYPE yy_reduce(
case 299: /* cmd ::= CREATE TOPIC not_exists_opt topic_name WITH META AS DATABASE db_name */
{ pCxt->pRootNode = createCreateTopicStmtUseDb(pCxt, yymsp[-6].minor.yy369, &yymsp[-5].minor.yy113, &yymsp[0].minor.yy113, true); }
break;
case 300: /* cmd ::= CREATE TOPIC not_exists_opt topic_name AS STABLE full_table_name */
{ pCxt->pRootNode = createCreateTopicStmtUseTable(pCxt, yymsp[-4].minor.yy369, &yymsp[-3].minor.yy113, yymsp[0].minor.yy448, false); }
case 300: /* cmd ::= CREATE TOPIC not_exists_opt topic_name AS STABLE full_table_name where_clause_opt */
{ pCxt->pRootNode = createCreateTopicStmtUseTable(pCxt, yymsp[-5].minor.yy369, &yymsp[-4].minor.yy113, yymsp[-1].minor.yy448, false, yymsp[0].minor.yy448); }
break;
case 301: /* cmd ::= CREATE TOPIC not_exists_opt topic_name WITH META AS STABLE full_table_name */
{ pCxt->pRootNode = createCreateTopicStmtUseTable(pCxt, yymsp[-6].minor.yy369, &yymsp[-5].minor.yy113, yymsp[0].minor.yy448, true); }
case 301: /* cmd ::= CREATE TOPIC not_exists_opt topic_name WITH META AS STABLE full_table_name where_clause_opt */
{ pCxt->pRootNode = createCreateTopicStmtUseTable(pCxt, yymsp[-7].minor.yy369, &yymsp[-6].minor.yy113, yymsp[-1].minor.yy448, true, yymsp[0].minor.yy448); }
break;
case 302: /* cmd ::= DROP TOPIC exists_opt topic_name */
{ pCxt->pRootNode = createDropTopicStmt(pCxt, yymsp[-1].minor.yy369, &yymsp[0].minor.yy113); }
......
......@@ -1145,6 +1145,15 @@ TEST_F(ParserInitialCTest, createTopic) {
setCreateTopicReq("tp1", 1, "create topic if not exists tp1 with meta as stable st1", nullptr, "test", "st1", 1);
run("CREATE TOPIC IF NOT EXISTS tp1 WITH META AS STABLE st1");
clearCreateTopicReq();
setCreateTopicReq("tp1", 1, "create topic if not exists tp1 as stable st1 where tag1 > 0", nullptr, "test", "st1");
run("CREATE TOPIC IF NOT EXISTS tp1 AS STABLE st1 WHERE tag1 > 0");
clearCreateTopicReq();
setCreateTopicReq("tp1", 1, "create topic if not exists tp1 with meta as stable st1 where tag1 > 0", nullptr, "test", "st1", 1);
run("CREATE TOPIC IF NOT EXISTS tp1 WITH META AS STABLE st1 WHERE tag1 > 0");
clearCreateTopicReq();
}
/*
......
......@@ -449,6 +449,18 @@ int32_t cloneTableMeta(STableMeta* pSrc, STableMeta** pDst) {
return TSDB_CODE_SUCCESS;
}
void getColumnTypeFromMeta(STableMeta* pMeta, char* pName, ETableColumnType* pType) {
int32_t nums = pMeta->tableInfo.numOfTags + pMeta->tableInfo.numOfColumns;
for (int32_t i = 0; i < nums; ++i) {
if (0 == strcmp(pName, pMeta->schema[i].name)) {
*pType = (i < pMeta->tableInfo.numOfColumns) ? TCOL_TYPE_COLUMN : TCOL_TYPE_TAG;
return;
}
}
*pType = TCOL_TYPE_NONE;
}
void freeVgInfo(SDBVgInfo* vgInfo) {
if (NULL == vgInfo) {
return;
......
......@@ -108,4 +108,14 @@ if $rows != 6 then
return -1
endi
return -1
sql create topic topic_stable_1 as stable stb where t1 > 0
sql create topic topic_stable_1 as stable stb where t1 > 0 and t1 < 0
sql create topic topic_stable_1 as stable stb where 1 > 0
sql create topic topic_stable_1 as stable stb where last(t1) > 0
sql create topic topic_stable_1 as stable stb where tbname is not null
sql create topic topic_stable_1 as stable stb where tbname > 'a'
sql create topic topic_stable_1 as stable stb where tbname > 0 and xx < 0
sql create topic topic_stable_1 as stable stb where tbname > 0 and c1 < 0
system sh/exec.sh -n dnode1 -s stop -x SIGINT
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册